mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 10:22:49 +00:00
generic: device notification reimplementation
how does it look? something like this: https://ibb.co/1zbDVpk and because all the SolidUiServer bits are written by me now - copyright it to me. the actions dialog was not operational btw (not for hotplug events anyway). the solidautoeject thing does not even make sense - when the eject button is pressed it was calling Solid::OpticalDrive::eject() but if the button is pressed the tray will eject anyway so what was it doing actually? solid-device-automounter can be replaced with solid actions but the devices are mounted for solid actions anyway so dropping it as for KCM for the solid actions - there can be none but to add features such as non-interactive actions (e.g. launch the keyboard KCM when a keyboard is plugged without poping dialog) or actions that do something on device removal it has to be done anew note that the action file for opening a file manager was named "test-predicate-openinwindow" meaning it was a testing thing rather than a finished thing Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
7c6d3bcb45
commit
d477598c1d
112 changed files with 731 additions and 13516 deletions
|
@ -305,9 +305,6 @@ add_subdirectory(menu)
|
|||
add_subdirectory(knotify)
|
||||
add_subdirectory(kuiserver)
|
||||
add_subdirectory(soliduiserver)
|
||||
add_subdirectory(solidautoeject)
|
||||
add_subdirectory(solid-actions-kcm)
|
||||
add_subdirectory(solid-device-automounter)
|
||||
add_subdirectory(solid-hardware)
|
||||
add_subdirectory(kcmshell)
|
||||
add_subdirectory(kioslave)
|
||||
|
|
|
@ -1,10 +1,22 @@
|
|||
project(devicenotifier)
|
||||
project(plasma-applet-devicenotifier)
|
||||
|
||||
install(DIRECTORY package/
|
||||
DESTINATION ${KDE4_DATA_INSTALL_DIR}/plasma/plasmoids/notifier)
|
||||
set(devicenotifier_SRCS
|
||||
devicenotifier.cpp
|
||||
)
|
||||
|
||||
install(FILES package/metadata.desktop
|
||||
DESTINATION ${KDE4_SERVICES_INSTALL_DIR}
|
||||
RENAME plasma-applet-devicenotifier.desktop)
|
||||
kde4_add_plugin(plasma_applet_devicenotifier ${devicenotifier_SRCS})
|
||||
target_link_libraries(plasma_applet_devicenotifier
|
||||
KDE4::plasma
|
||||
KDE4::solid
|
||||
KDE4::kio
|
||||
)
|
||||
|
||||
install(FILES test-predicate-openinwindow.desktop DESTINATION ${KDE4_DATA_INSTALL_DIR}/solid/actions )
|
||||
install(
|
||||
TARGETS plasma_applet_devicenotifier
|
||||
DESTINATION ${KDE4_PLUGIN_INSTALL_DIR}
|
||||
)
|
||||
|
||||
install(
|
||||
FILES plasma-applet-devicenotifier.desktop
|
||||
DESTINATION ${KDE4_SERVICES_INSTALL_DIR}
|
||||
)
|
||||
|
|
259
plasma/applets/devicenotifier/devicenotifier.cpp
Normal file
259
plasma/applets/devicenotifier/devicenotifier.cpp
Normal file
|
@ -0,0 +1,259 @@
|
|||
/* This file is part of the KDE project
|
||||
Copyright (C) 2023 Ivailo Monev <xakepa10@gmail.com>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2, as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "devicenotifier.h"
|
||||
|
||||
#include <QTimer>
|
||||
#include <QEventLoop>
|
||||
#include <QCoreApplication>
|
||||
#include <QGraphicsGridLayout>
|
||||
#include <QGraphicsLinearLayout>
|
||||
#include <QGridLayout>
|
||||
#include <Solid/Device>
|
||||
#include <Solid/DeviceNotifier>
|
||||
#include <Plasma/Label>
|
||||
#include <Plasma/Separator>
|
||||
#include <Plasma/Frame>
|
||||
#include <Plasma/IconWidget>
|
||||
#include <Plasma/Meter>
|
||||
#include <Plasma/ToolTipManager>
|
||||
#include <Solid/Device>
|
||||
#include <Solid/Block>
|
||||
#include <Solid/Predicate>
|
||||
#include <Solid/StorageVolume>
|
||||
#include <Solid/StorageDrive>
|
||||
#include <Solid/StorageAccess>
|
||||
#include <KIcon>
|
||||
#include <KRun>
|
||||
#include <KDiskFreeSpaceInfo>
|
||||
#include <KDebug>
|
||||
|
||||
Q_DECLARE_METATYPE(Plasma::IconWidget*)
|
||||
Q_DECLARE_METATYPE(Plasma::Meter*)
|
||||
|
||||
static const int s_freetimeout = 3000; // 3secs
|
||||
|
||||
class DeviceNotifierWidget : public QGraphicsWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DeviceNotifierWidget(DeviceNotifier* devicenotifier);
|
||||
~DeviceNotifierWidget();
|
||||
|
||||
bool onlyremovable;
|
||||
|
||||
public Q_SLOTS:
|
||||
void slotUpdateLayout();
|
||||
|
||||
private Q_SLOTS:
|
||||
void slotCheckSpaceAndEmblems();
|
||||
void slotIconActivated();
|
||||
|
||||
private:
|
||||
DeviceNotifier* m_devicenotifier;
|
||||
QGraphicsLinearLayout* m_layout;
|
||||
Plasma::Label* m_title;
|
||||
QList<Plasma::Frame*> m_frames;
|
||||
QTimer* m_freetimer;
|
||||
};
|
||||
|
||||
DeviceNotifierWidget::DeviceNotifierWidget(DeviceNotifier* devicenotifier)
|
||||
: QGraphicsWidget(devicenotifier),
|
||||
onlyremovable(false), // TODO: option for it
|
||||
m_devicenotifier(devicenotifier),
|
||||
m_layout(nullptr),
|
||||
m_title(nullptr)
|
||||
{
|
||||
m_layout = new QGraphicsLinearLayout(Qt::Vertical, this);
|
||||
m_title = new Plasma::Label(this);
|
||||
m_title->setText(i18n("No Devices Available"));
|
||||
m_title->setAlignment(Qt::AlignCenter);
|
||||
m_layout->addItem(m_title);
|
||||
setLayout(m_layout);
|
||||
|
||||
m_freetimer = new QTimer(this);
|
||||
m_freetimer->setInterval(s_freetimeout);
|
||||
connect(
|
||||
m_freetimer, SIGNAL(timeout()),
|
||||
this, SLOT(slotCheckSpaceAndEmblems())
|
||||
);
|
||||
connect(
|
||||
Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(QString)),
|
||||
this, SLOT(slotUpdateLayout())
|
||||
);
|
||||
connect(
|
||||
Solid::DeviceNotifier::instance(), SIGNAL(deviceRemoved(QString)),
|
||||
this, SLOT(slotUpdateLayout())
|
||||
);
|
||||
}
|
||||
|
||||
DeviceNotifierWidget::~DeviceNotifierWidget()
|
||||
{
|
||||
}
|
||||
|
||||
void DeviceNotifierWidget::slotUpdateLayout()
|
||||
{
|
||||
Solid::Predicate solidpredicate(Solid::DeviceInterface::StorageVolume);
|
||||
QList<Solid::Device> soliddevices = Solid::Device::listFromQuery(solidpredicate);
|
||||
QMutableListIterator<Solid::Device> soliditer(soliddevices);
|
||||
while (soliditer.hasNext()) {
|
||||
const Solid::Device soliddevice = soliditer.next();
|
||||
const Solid::StorageVolume *solidstoragevolume = soliddevice.as<Solid::StorageVolume>();
|
||||
if (!solidstoragevolume || solidstoragevolume->isIgnored()) {
|
||||
soliditer.remove();
|
||||
continue;
|
||||
}
|
||||
if (onlyremovable) {
|
||||
const Solid::StorageDrive *solidstoragedrive = soliddevice.as<Solid::StorageDrive>();
|
||||
if (!solidstoragedrive || !solidstoragedrive->isRemovable()) {
|
||||
soliditer.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Plasma::Frame* frame, m_frames) {
|
||||
m_layout->removeItem(frame);
|
||||
}
|
||||
qDeleteAll(m_frames);
|
||||
m_frames.clear();
|
||||
|
||||
if (soliddevices.isEmpty()) {
|
||||
m_title->show();
|
||||
m_devicenotifier->setStatus(Plasma::ItemStatus::PassiveStatus);
|
||||
return;
|
||||
}
|
||||
|
||||
m_freetimer->stop();
|
||||
m_title->hide();
|
||||
m_devicenotifier->setStatus(Plasma::ItemStatus::ActiveStatus);
|
||||
foreach (const Solid::Device &soliddevice, soliddevices) {
|
||||
Plasma::Frame* frame = new Plasma::Frame(this);
|
||||
frame->setProperty("_k_udi", soliddevice.udi());
|
||||
QGraphicsGridLayout* framelayout = new QGraphicsGridLayout(frame);
|
||||
Plasma::IconWidget* iconwidget = new Plasma::IconWidget(frame);
|
||||
iconwidget->setOrientation(Qt::Horizontal);
|
||||
iconwidget->setIcon(KIcon(soliddevice.icon(), KIconLoader::global(), soliddevice.emblems()));
|
||||
iconwidget->setText(soliddevice.description());
|
||||
iconwidget->setProperty("_k_udi", soliddevice.udi());
|
||||
connect(
|
||||
iconwidget, SIGNAL(activated()),
|
||||
this, SLOT(slotIconActivated())
|
||||
);
|
||||
framelayout->addItem(iconwidget, 0, 0);
|
||||
frame->setProperty("_k_iconwidget", QVariant::fromValue(iconwidget));
|
||||
|
||||
Plasma::Meter* meter = new Plasma::Meter(frame);
|
||||
meter->setMeterType(Plasma::Meter::BarMeterHorizontal);
|
||||
framelayout->addItem(meter, 1, 0);
|
||||
frame->setProperty("_k_meter", QVariant::fromValue(meter));
|
||||
|
||||
frame->setLayout(framelayout);
|
||||
m_layout->addItem(frame);
|
||||
m_frames.append(frame);
|
||||
}
|
||||
QSizeF minimumsize = sizeHint(Qt::MinimumSize);
|
||||
// margins
|
||||
minimumsize.setWidth(minimumsize.width() + 20);
|
||||
minimumsize.setHeight(minimumsize.height() + 20);
|
||||
m_devicenotifier->setMinimumSize(minimumsize);
|
||||
slotCheckSpaceAndEmblems();
|
||||
m_freetimer->start();
|
||||
}
|
||||
|
||||
void DeviceNotifierWidget::slotCheckSpaceAndEmblems()
|
||||
{
|
||||
foreach (const Plasma::Frame* frame, m_frames) {
|
||||
const QString solidudi = frame->property("_k_udi").toString();
|
||||
const Solid::Device soliddevice(solidudi);
|
||||
|
||||
const Solid::StorageAccess *solidstorageaccess = soliddevice.as<Solid::StorageAccess>();
|
||||
QString devicepath;
|
||||
// using the mountpoint is slightly more reliable
|
||||
if (solidstorageaccess) {
|
||||
devicepath = solidstorageaccess->filePath();
|
||||
}
|
||||
if (devicepath.isEmpty()) {
|
||||
const Solid::Block *solidblock = soliddevice.as<Solid::Block>();
|
||||
if (solidblock) {
|
||||
devicepath = solidblock->device();
|
||||
}
|
||||
}
|
||||
if (!devicepath.isEmpty()) {
|
||||
const KDiskFreeSpaceInfo kfreespaceinfo = KDiskFreeSpaceInfo::freeSpaceInfo(devicepath);
|
||||
Plasma::Meter* meter = qvariant_cast<Plasma::Meter*>(frame->property("_k_meter"));
|
||||
meter->setMaximum(qMax(kfreespaceinfo.size() / 1024, KIO::filesize_t(100)));
|
||||
meter->setValue(kfreespaceinfo.used() / 1024);
|
||||
// qDebug() << Q_FUNC_INFO << solidudi << kfreespaceinfo.size() << kfreespaceinfo.used();
|
||||
} else {
|
||||
kWarning() << "no mountpoint and no device path for" << solidudi;
|
||||
}
|
||||
|
||||
Plasma::IconWidget* iconwidget = qvariant_cast<Plasma::IconWidget*>(frame->property("_k_iconwidget"));
|
||||
iconwidget->setIcon(KIcon(soliddevice.icon(), KIconLoader::global(), soliddevice.emblems()));
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceNotifierWidget::slotIconActivated()
|
||||
{
|
||||
const Plasma::IconWidget* iconwidget = qobject_cast<Plasma::IconWidget*>(sender());
|
||||
const QString solidudi = iconwidget->property("_k_udi").toString();
|
||||
Solid::Device soliddevice(solidudi);
|
||||
Solid::StorageAccess* solidstorageacces = soliddevice.as<Solid::StorageAccess>();
|
||||
if (!solidstorageacces) {
|
||||
kWarning() << "not storage access" << solidudi;
|
||||
return;
|
||||
}
|
||||
QString mountpoint = solidstorageacces->filePath();
|
||||
if (mountpoint.isEmpty()) {
|
||||
solidstorageacces->setup();
|
||||
mountpoint = solidstorageacces->filePath();
|
||||
}
|
||||
if (!mountpoint.isEmpty()) {
|
||||
KRun::runUrl(KUrl(mountpoint), "inode/directory", nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
DeviceNotifier::DeviceNotifier(QObject *parent, const QVariantList &args)
|
||||
: Plasma::PopupApplet(parent, args),
|
||||
m_devicenotifierwidget(nullptr)
|
||||
{
|
||||
KGlobal::locale()->insertCatalog("plasma_applet_devicenotifier");
|
||||
setAspectRatioMode(Plasma::AspectRatioMode::IgnoreAspectRatio);
|
||||
setPopupIcon("device-notifier");
|
||||
setMinimumSize(100, 50);
|
||||
setPreferredSize(290, 340);
|
||||
m_devicenotifierwidget = new DeviceNotifierWidget(this);
|
||||
}
|
||||
|
||||
DeviceNotifier::~DeviceNotifier()
|
||||
{
|
||||
delete m_devicenotifierwidget;
|
||||
}
|
||||
|
||||
void DeviceNotifier::init()
|
||||
{
|
||||
QTimer::singleShot(500, m_devicenotifierwidget, SLOT(slotUpdateLayout()));
|
||||
}
|
||||
|
||||
QGraphicsWidget* DeviceNotifier::graphicsWidget()
|
||||
{
|
||||
return m_devicenotifierwidget;
|
||||
}
|
||||
|
||||
#include "moc_devicenotifier.cpp"
|
||||
#include "devicenotifier.moc"
|
45
plasma/applets/devicenotifier/devicenotifier.h
Normal file
45
plasma/applets/devicenotifier/devicenotifier.h
Normal file
|
@ -0,0 +1,45 @@
|
|||
/* This file is part of the KDE project
|
||||
Copyright (C) 2023 Ivailo Monev <xakepa10@gmail.com>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2, as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef DEVICENOTIFIER_H
|
||||
#define DEVICENOTIFIER_H
|
||||
|
||||
#include <Plasma/PopupApplet>
|
||||
|
||||
class DeviceNotifierWidget;
|
||||
|
||||
class DeviceNotifier : public Plasma::PopupApplet
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DeviceNotifier(QObject *parent, const QVariantList &args);
|
||||
~DeviceNotifier();
|
||||
|
||||
// Plasma::Applet reimplementation
|
||||
void init() final;
|
||||
// Plasma::PopupApplet reimplementation
|
||||
QGraphicsWidget* graphicsWidget() final;
|
||||
|
||||
private:
|
||||
friend DeviceNotifierWidget;
|
||||
DeviceNotifierWidget *m_devicenotifierwidget;
|
||||
};
|
||||
|
||||
K_EXPORT_PLASMA_APPLET(devicenotifier, DeviceNotifier)
|
||||
|
||||
#endif // DEVICENOTIFIER_H
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||
<kcfgfile name=""/>
|
||||
|
||||
<group name="General">
|
||||
<entry name="removableDevices" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="nonRemovableDevices" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="allDevices" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
|
||||
</kcfg>
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
* Copyright 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
* Copyright 2012 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.qtextracomponents 0.1
|
||||
import org.kde.plasma.components 0.1 as PlasmaComponents
|
||||
|
||||
Item {
|
||||
property string icon
|
||||
property alias label: actionText.text
|
||||
property string predicate
|
||||
height: actionIcon.height+(2*actionsList.actionVerticalMargins)
|
||||
width: actionsList.width
|
||||
|
||||
PlasmaCore.IconItem {
|
||||
id: actionIcon
|
||||
source: QIcon (parent.icon)
|
||||
height: actionsList.actionIconHeight
|
||||
width: actionsList.actionIconHeight
|
||||
anchors {
|
||||
top: parent.top
|
||||
topMargin: actionsList.actionVerticalMargins
|
||||
bottom: parent.bottom
|
||||
bottomMargin: actionsList.actionVerticalMargins
|
||||
left: parent.left
|
||||
leftMargin: 3
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: actionText
|
||||
anchors {
|
||||
top: actionIcon.top
|
||||
bottom: actionIcon.bottom
|
||||
left: actionIcon.right
|
||||
leftMargin: 5
|
||||
right: parent.right
|
||||
rightMargin: 3
|
||||
}
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onEntered: {
|
||||
actionsList.currentIndex = index;
|
||||
actionsList.highlightItem.opacity = 1;
|
||||
makeCurrent();
|
||||
}
|
||||
onExited: {
|
||||
actionsList.highlightItem.opacity = 0;
|
||||
}
|
||||
onClicked: {
|
||||
service = hpSource.serviceForSource(udi);
|
||||
operation = service.operationParameters("invokeAction");
|
||||
operation["predicate"] = predicate;
|
||||
service.startOperationCall("invokeAction", operation);
|
||||
notifierDialog.currentExpanded = -1;
|
||||
notifierDialog.currentIndex = -1;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,295 +0,0 @@
|
|||
/*
|
||||
* Copyright 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
* Copyright 2012 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.plasma.components 0.1 as PlasmaComponents
|
||||
import org.kde.qtextracomponents 0.1
|
||||
|
||||
Item {
|
||||
id: deviceItem
|
||||
property string udi
|
||||
property string icon
|
||||
property alias deviceName: deviceLabel.text
|
||||
property string emblemIcon
|
||||
property int state
|
||||
property alias leftActionIcon: leftAction.source
|
||||
property bool mounted
|
||||
property bool expanded: (notifierDialog.currentExpanded == index)
|
||||
property alias percentUsage: freeSpaceBar.value
|
||||
signal leftActionTriggered
|
||||
|
||||
height: container.childrenRect.height + padding.margins.top + padding.margins.bottom
|
||||
width: parent.width
|
||||
|
||||
PlasmaCore.FrameSvgItem {
|
||||
id: padding
|
||||
imagePath: "widgets/viewitem"
|
||||
prefix: "hover"
|
||||
opacity: 0
|
||||
anchors.fill: parent
|
||||
}
|
||||
MouseArea {
|
||||
id: container
|
||||
anchors {
|
||||
fill: parent
|
||||
topMargin: padding.margins.top
|
||||
leftMargin: padding.margins.left
|
||||
rightMargin: padding.margins.right
|
||||
bottomMargin: padding.margins.bottom
|
||||
}
|
||||
hoverEnabled: true
|
||||
onEntered: {
|
||||
notifierDialog.currentIndex = index;
|
||||
notifierDialog.highlightItem.opacity = 1;
|
||||
service = sdSource.serviceForSource(udi);
|
||||
operation = service.operationParameters("updateFreespace");
|
||||
service.startOperationCall("updateFreespace", operation);
|
||||
}
|
||||
onExited: {
|
||||
notifierDialog.highlightItem.opacity = expanded ? 1 : 0;
|
||||
}
|
||||
onClicked: {
|
||||
notifierDialog.itemFocused();
|
||||
|
||||
var actions = hpSource.data[udi]["actions"];
|
||||
if (actions.length == 1) {
|
||||
service = hpSource.serviceForSource(udi);
|
||||
operation = service.operationParameters("invokeAction");
|
||||
operation["predicate"] = actions[0]["predicate"];
|
||||
service.startOperationCall("invokeAction", operation);
|
||||
} else {
|
||||
notifierDialog.currentExpanded = expanded ? -1 : index;
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: Device item loses focus on mounting/unmounting it,
|
||||
// or specifically, when some UI element changes.
|
||||
PlasmaCore.IconItem {
|
||||
id: deviceIcon
|
||||
width: theme.iconSizes.dialog
|
||||
height: width
|
||||
z: 900
|
||||
source: QIcon(deviceItem.icon)
|
||||
enabled: deviceItem.state == 0
|
||||
anchors {
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
}
|
||||
|
||||
PlasmaCore.IconItem {
|
||||
id: emblem
|
||||
width: theme.iconSizes.dialog * 0.5
|
||||
height: width
|
||||
source: deviceItem.state == 0 ? QIcon(emblemIcon) : QIcon();
|
||||
anchors {
|
||||
left: parent.left
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Column {
|
||||
id: labelsColumn
|
||||
spacing: padding.margins.top/2
|
||||
z: 900
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: deviceIcon.right
|
||||
right: leftActionArea.left
|
||||
leftMargin: padding.margins.left
|
||||
rightMargin: padding.margins.right
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: deviceLabel
|
||||
height: paintedHeight
|
||||
wrapMode: Text.WordWrap
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
enabled: deviceItem.state == 0
|
||||
}
|
||||
|
||||
Item {
|
||||
height:freeSpaceBar.height
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
opacity: (deviceItem.state == 0 && mounted) ? 1 : 0
|
||||
PlasmaComponents.ProgressBar {
|
||||
id: freeSpaceBar
|
||||
height: deviceStatus.height
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
opacity: mounted ? deviceStatus.opacity : 0
|
||||
minimumValue: 0
|
||||
maximumValue: 100
|
||||
orientation: Qt.Horizontal
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
width:deviceStatus.width
|
||||
height:deviceStatus.height
|
||||
PlasmaComponents.Label {
|
||||
id: deviceStatus
|
||||
|
||||
height: paintedHeight
|
||||
// FIXME: state changes do not reach the plasmoid if the
|
||||
// device was already attached when the plasmoid was
|
||||
// initialized
|
||||
text: deviceItem.state == 0 ? container.idleStatus() : (deviceItem.state==1 ? i18nc("Accessing is a less technical word for Mounting; translation should be short and mean \'Currently mounting this device\'", "Accessing...") : i18nc("Removing is a less technical word for Unmounting; translation shoud be short and mean \'Currently unmounting this device\'", "Removing..."))
|
||||
font.pointSize: theme.smallestFont.pointSize
|
||||
color: "#99"+(theme.textColor.toString().substr(1))
|
||||
opacity: deviceItem.state != 0 || container.containsMouse || expanded ? 1 : 0;
|
||||
|
||||
Behavior on opacity { NumberAnimation { duration: 150 } }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function idleStatus() {
|
||||
var actions = hpSource.data[udi]["actions"];
|
||||
if (actions.length > 1) {
|
||||
return i18np("1 action for this device", "%1 actions for this device", actions.length);
|
||||
} else {
|
||||
return actions[0]["text"];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PlasmaCore.ToolTip {
|
||||
target: freeSpaceBar
|
||||
subText: i18nc("@info:status Free disk space", "%1 free", sdSource.data[udi]["Free Space Text"])
|
||||
}
|
||||
|
||||
MouseEventListener {
|
||||
id: leftActionArea
|
||||
width: theme.iconSizes.dialog*0.8
|
||||
height: width
|
||||
hoverEnabled: true
|
||||
anchors {
|
||||
right: parent.right
|
||||
verticalCenter: deviceIcon.verticalCenter
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
notifierDialog.itemFocused();
|
||||
if (leftAction.visible) {
|
||||
leftActionTriggered()
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.IconItem {
|
||||
id: leftAction
|
||||
anchors.fill: parent
|
||||
active: leftActionArea.containsMouse
|
||||
visible: !busySpinner.visible
|
||||
}
|
||||
|
||||
PlasmaComponents.BusyIndicator {
|
||||
id: busySpinner
|
||||
anchors.fill: parent
|
||||
running: visible
|
||||
visible: deviceItem.state != 0
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.ToolTip {
|
||||
target: leftAction
|
||||
subText: {
|
||||
if (!model["Accessible"]) {
|
||||
return i18n("Click to mount this device.")
|
||||
} else if (model["Device Types"].indexOf("OpticalDisc") != -1) {
|
||||
return i18n("Click to eject this disc.")
|
||||
} else if (model["Removable"]) {
|
||||
return i18n("Click to safely remove this device.")
|
||||
} else {
|
||||
return i18n("Click to access this device from other applications.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.ToolTip {
|
||||
target: deviceIcon
|
||||
subText: {
|
||||
if (model["Accessible"] || deviceItem.state != 0) {
|
||||
if (model["Removable"]) {
|
||||
return i18n("It is currently <b>not safe</b> to remove this device: applications may be accessing it. Click the eject button to safely remove this device.")
|
||||
} else {
|
||||
return i18n("This device is currently accessible.")
|
||||
}
|
||||
} else {
|
||||
if (model["Removable"]) {
|
||||
if (model["In Use"]) {
|
||||
return i18n("It is currently <b>not safe</b> to remove this device: applications may be accessing other volumes on this device. Click the eject button on these other volumes to safely remove this device.");
|
||||
} else {
|
||||
return i18n("It is currently safe to remove this device.")
|
||||
}
|
||||
} else {
|
||||
return i18n("This device is not currently accessible.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: actionsList
|
||||
anchors {
|
||||
top: labelsColumn.bottom
|
||||
left: deviceIcon.right
|
||||
right: leftActionArea.left
|
||||
}
|
||||
interactive: false
|
||||
model: hpSource.data[udi]["actions"]
|
||||
property int actionVerticalMargins: 5
|
||||
property int actionIconHeight: theme.iconSizes.dialog*0.8
|
||||
height: expanded ? ((actionIconHeight+(2*actionVerticalMargins))*model.length)+anchors.topMargin : 0
|
||||
opacity: expanded ? 1 : 0
|
||||
delegate: actionItem
|
||||
highlight: PlasmaComponents.Highlight{}
|
||||
Behavior on opacity { NumberAnimation { duration: 150 } }
|
||||
|
||||
Component.onCompleted: currentIndex = -1
|
||||
}
|
||||
|
||||
Component {
|
||||
id: actionItem
|
||||
|
||||
ActionItem {
|
||||
icon: modelData["icon"]
|
||||
label: modelData["text"]
|
||||
predicate: modelData["predicate"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function makeCurrent()
|
||||
{
|
||||
notifierDialog.currentIndex = index;
|
||||
notifierDialog.highlightItem.opacity = 1;
|
||||
}
|
||||
}
|
|
@ -1,147 +0,0 @@
|
|||
/*
|
||||
* Copyright 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
* Copyright 2012 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.plasma.components 0.1 as PlasmaComponents
|
||||
|
||||
Item {
|
||||
id: statusBar
|
||||
property bool expanded: false
|
||||
visible: false
|
||||
height: visible ? (expanded ? statusText.paintedHeight+detailsText.paintedHeight+3 : statusText.paintedHeight) : 0
|
||||
|
||||
Behavior on height { NumberAnimation { duration: 200 } }
|
||||
|
||||
function setData(error, details, udi) {
|
||||
shown = visible;
|
||||
if (shown)
|
||||
close();
|
||||
statusText.text = error;
|
||||
detailsText.text = details;
|
||||
if (shown)
|
||||
showTimer.restart();
|
||||
else
|
||||
show();
|
||||
}
|
||||
|
||||
function show() {
|
||||
expanded = false;
|
||||
visible = true;
|
||||
showTimer.stop();
|
||||
hideTimer.restart();
|
||||
}
|
||||
|
||||
function toggleDetails() {
|
||||
expanded = !expanded;
|
||||
hideTimer.running = !expanded;
|
||||
}
|
||||
|
||||
function close() {
|
||||
hideTimer.stop();
|
||||
showTimer.stop();
|
||||
expanded = false;
|
||||
visible = false;
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: hideTimer
|
||||
interval: 7500
|
||||
onTriggered: close();
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: showTimer
|
||||
interval: 300
|
||||
onTriggered: show();
|
||||
}
|
||||
|
||||
PlasmaCore.Svg {
|
||||
id: iconsSvg
|
||||
imagePath: "widgets/configuration-icons"
|
||||
}
|
||||
|
||||
property int iconSize: 16
|
||||
|
||||
PlasmaCore.SvgItem {
|
||||
id: closeBtn
|
||||
width: iconSize
|
||||
height: iconSize
|
||||
svg: iconsSvg
|
||||
elementId: "close"
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: closeBtn
|
||||
onClicked: close();
|
||||
}
|
||||
|
||||
PlasmaCore.SvgItem {
|
||||
id: detailsBtn
|
||||
visible: detailsText.text!=""
|
||||
width: visible ? iconSize : 0
|
||||
height: visible ? iconSize : 0
|
||||
svg: iconsSvg
|
||||
elementId: expanded ? "collapse" : "restore"
|
||||
anchors {
|
||||
top: parent.top
|
||||
right: closeBtn.left
|
||||
rightMargin: 5
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: detailsBtn
|
||||
enabled: detailsBtn.visible
|
||||
onClicked: toggleDetails();
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: statusText
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: detailsBtn.left
|
||||
bottom: detailsText.top
|
||||
bottomMargin: expanded ? 3 : 0
|
||||
}
|
||||
clip: true
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: detailsText
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
font.pointSize: theme.defaultFont.pointSize * 0.8
|
||||
clip: true
|
||||
wrapMode: Text.WordWrap
|
||||
height: expanded ? paintedHeight : 0
|
||||
|
||||
Behavior on height { NumberAnimation { duration: 200 } }
|
||||
}
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>devicenotifierConfig</class>
|
||||
<widget class="QWidget" name="devicenotifierConfig">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>193</width>
|
||||
<height>83</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="kcfg_removableDevices">
|
||||
<property name="text">
|
||||
<string>Removable devices only</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="kcfg_nonRemovableDevices">
|
||||
<property name="text">
|
||||
<string>Non-removable devices only</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" rowspan="3">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>2</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="kcfg_allDevices">
|
||||
<property name="text">
|
||||
<string>All devices</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>3</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,407 +0,0 @@
|
|||
/*
|
||||
* Copyright 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
* Copyright 2012 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
import QtQuick 1.0
|
||||
import org.kde.plasma.core 0.1 as PlasmaCore
|
||||
import org.kde.plasma.components 0.1 as PlasmaComponents
|
||||
import org.kde.plasma.extras 0.1 as PlasmaExtras
|
||||
|
||||
Item {
|
||||
id: devicenotifier
|
||||
property int minimumWidth: 290
|
||||
property int minimumHeight: 340
|
||||
property string devicesType: "removable"
|
||||
property string expandedDevice
|
||||
|
||||
PlasmaCore.Theme {
|
||||
id: theme
|
||||
}
|
||||
|
||||
PlasmaCore.DataSource {
|
||||
id: hpSource
|
||||
engine: "hotplug"
|
||||
connectedSources: sources
|
||||
interval: 0
|
||||
}
|
||||
|
||||
PlasmaCore.DataSource {
|
||||
id: sdSource
|
||||
engine: "soliddevice"
|
||||
connectedSources: hpSource.sources
|
||||
interval: 0
|
||||
property string last
|
||||
onSourceAdded: {
|
||||
last = source;
|
||||
processLastDevice(true)
|
||||
}
|
||||
|
||||
onSourceRemoved: {
|
||||
if (expandedDevice == source) {
|
||||
notifierDialog.currentExpanded = -1;
|
||||
expandedDevice = "";
|
||||
}
|
||||
}
|
||||
|
||||
onDataChanged: {
|
||||
processLastDevice(true)
|
||||
}
|
||||
|
||||
onNewData: {
|
||||
last = sourceName;
|
||||
processLastDevice(false);
|
||||
}
|
||||
|
||||
function processLastDevice(expand) {
|
||||
if (last != "") {
|
||||
if (devicesType == "all" ||
|
||||
(devicesType == "removable" && data[last] && data[last]["Removable"] == true) ||
|
||||
(devicesType == "nonRemovable" && data[last] && data[last]["Removable"] == false)) {
|
||||
updateTooltip();
|
||||
if (expand && hpSource.data[last]["added"]) {
|
||||
expandDevice(last)
|
||||
}
|
||||
last = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function popupEventSlot(popped) {
|
||||
if (!popped) {
|
||||
// reset the property that lets us remember if an item was clicked
|
||||
// (versus only hovered) for autohide purposes
|
||||
notifierDialog.itemClicked = true;
|
||||
expandedDevice = "";
|
||||
notifierDialog.currentExpanded = -1;
|
||||
notifierDialog.currentIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.DataSource {
|
||||
id: statusSource
|
||||
engine: "devicenotifications"
|
||||
property string last
|
||||
onSourceAdded: {
|
||||
last = source;
|
||||
connectSource(source);
|
||||
}
|
||||
onDataChanged: {
|
||||
if (last != "") {
|
||||
statusBar.setData(data[last]["error"], data[last]["errorDetails"], data[last]["udi"]);
|
||||
plasmoid.status = "NeedsAttentionStatus";
|
||||
plasmoid.showPopup(2500)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
plasmoid.addEventListener ('ConfigChanged', configChanged);
|
||||
plasmoid.popupEvent.connect(popupEventSlot);
|
||||
plasmoid.aspectRatioMode = IgnoreAspectRatio;
|
||||
|
||||
if (notifierDialog.count == 0) {
|
||||
plasmoid.status = "PassiveStatus"
|
||||
}
|
||||
updateTooltip()
|
||||
}
|
||||
|
||||
function configChanged()
|
||||
{
|
||||
var all = plasmoid.readConfig("allDevices");
|
||||
var removable = plasmoid.readConfig("removableDevices");
|
||||
if (all == true) {
|
||||
devicesType = "all";
|
||||
filterModel.filterRegExp = "";
|
||||
} else if (removable == true) {
|
||||
devicesType = "removable";
|
||||
filterModel.filterRegExp = "true";
|
||||
} else {
|
||||
devicesType = "nonRemovable";
|
||||
filterModel.filterRegExp = "false";
|
||||
}
|
||||
notifierDialog.currentIndex = -1;
|
||||
notifierDialog.currentExpanded = -1;
|
||||
}
|
||||
|
||||
function expandDevice(udi)
|
||||
{
|
||||
if (hpSource.data[udi]["actions"].length > 1) {
|
||||
expandedDevice = udi
|
||||
}
|
||||
|
||||
// reset the property that lets us remember if an item was clicked
|
||||
// (versus only hovered) for autohide purposes
|
||||
notifierDialog.itemClicked = false;
|
||||
|
||||
plasmoid.setPopupIconByName("preferences-desktop-notification")
|
||||
plasmoid.showPopup(7500)
|
||||
popupIconTimer.restart()
|
||||
}
|
||||
|
||||
function updateTooltip()
|
||||
{
|
||||
var tooltip = new Object
|
||||
if (notifierDialog.count == 0) {
|
||||
tooltip["image"] = "device-notifier"
|
||||
tooltip["mainText"] = i18n("No devices available")
|
||||
} else if (sdSource.last != "") {
|
||||
tooltip["image"] = sdSource.data[sdSource.last]["Icon"]
|
||||
tooltip["mainText"] = i18n("Most recent device")
|
||||
tooltip["subText"] = sdSource.data[sdSource.last]["Description"]
|
||||
}
|
||||
plasmoid.popupIconToolTip = tooltip
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: popupIconTimer
|
||||
interval: 2500
|
||||
onTriggered: plasmoid.setPopupIconByName("device-notifier");
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: passiveTimer
|
||||
interval: 2500
|
||||
onTriggered: plasmoid.status = "PassiveStatus"
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
|
||||
onEntered: notifierDialog.itemHovered()
|
||||
onExited: notifierDialog.itemUnhovered()
|
||||
|
||||
PlasmaComponents.Label {
|
||||
id: header
|
||||
text: filterModel.count>0 ? i18n("Available Devices") : i18n("No Devices Available")
|
||||
anchors { top: parent.top; topMargin: 3; left: parent.left; right: parent.right }
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
|
||||
|
||||
PlasmaCore.Svg {
|
||||
id: lineSvg
|
||||
imagePath: "widgets/line"
|
||||
}
|
||||
PlasmaCore.SvgItem {
|
||||
id: headerSeparator
|
||||
svg: lineSvg
|
||||
elementId: "horizontal-line"
|
||||
anchors {
|
||||
top: header.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
topMargin: 3
|
||||
}
|
||||
height: lineSvg.elementSize("horizontal-line").height
|
||||
}
|
||||
|
||||
PlasmaExtras.ScrollArea {
|
||||
anchors {
|
||||
top : headerSeparator.bottom
|
||||
topMargin: 10
|
||||
bottom: statusBarSeparator.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
ListView {
|
||||
id: notifierDialog
|
||||
|
||||
model: PlasmaCore.SortFilterModel {
|
||||
id: filterModel
|
||||
sourceModel: PlasmaCore.DataModel {
|
||||
dataSource: sdSource
|
||||
}
|
||||
filterRole: "Removable"
|
||||
filterRegExp: "true"
|
||||
sortRole: "Timestamp"
|
||||
sortOrder: Qt.DescendingOrder
|
||||
}
|
||||
|
||||
property int currentExpanded: -1
|
||||
property bool itemClicked: true
|
||||
delegate: deviceItem
|
||||
highlight: PlasmaComponents.Highlight{}
|
||||
|
||||
//this is needed to make SectionScroller actually work
|
||||
//acceptable since one doesn't have a billion of devices
|
||||
cacheBuffer: 1000
|
||||
|
||||
onCountChanged: {
|
||||
if (count == 0) {
|
||||
updateTooltip();
|
||||
passiveTimer.restart()
|
||||
} else {
|
||||
passiveTimer.stop()
|
||||
plasmoid.status = "ActiveStatus"
|
||||
}
|
||||
}
|
||||
|
||||
function itemHovered()
|
||||
{
|
||||
// prevent autohide from catching us!
|
||||
plasmoid.showPopup(0);
|
||||
}
|
||||
|
||||
function itemUnhovered()
|
||||
{
|
||||
if (!itemClicked) {
|
||||
plasmoid.showPopup(1000);
|
||||
}
|
||||
}
|
||||
|
||||
function itemFocused()
|
||||
{
|
||||
if (!itemClicked) {
|
||||
// prevent autohide from catching us!
|
||||
itemClicked = true;
|
||||
plasmoid.showPopup(0)
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
property: "Type Description"
|
||||
delegate: Item {
|
||||
height: childrenRect.height
|
||||
width: notifierDialog.width
|
||||
PlasmaCore.SvgItem {
|
||||
visible: parent.y > 0
|
||||
svg: lineSvg
|
||||
elementId: "horizontal-line"
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
height: lineSvg.elementSize("horizontal-line").height
|
||||
}
|
||||
PlasmaComponents.Label {
|
||||
x: 8
|
||||
y: 8
|
||||
opacity: 0.6
|
||||
text: section
|
||||
color: theme.textColor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: currentIndex=-1
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: deviceItem
|
||||
|
||||
DeviceItem {
|
||||
id: wrapper
|
||||
width: notifierDialog.width
|
||||
udi: DataEngineSource
|
||||
icon: sdSource.data[udi]["Icon"]
|
||||
deviceName: sdSource.data[udi]["Description"]
|
||||
emblemIcon: Emblems[0]
|
||||
state: model["State"]
|
||||
|
||||
percentUsage: {
|
||||
var freeSpace = new Number(sdSource.data[udi]["Free Space"]);
|
||||
var size = new Number(model["Size"]);
|
||||
var used = size-freeSpace;
|
||||
return used*100/size;
|
||||
}
|
||||
leftActionIcon: {
|
||||
if (mounted) {
|
||||
return QIcon("media-eject");
|
||||
} else {
|
||||
return QIcon("emblem-mounted");
|
||||
}
|
||||
}
|
||||
mounted: model["Accessible"]
|
||||
|
||||
onLeftActionTriggered: {
|
||||
operationName = mounted ? "unmount" : "mount";
|
||||
service = sdSource.serviceForSource(udi);
|
||||
operation = service.operationParameters(operationName);
|
||||
service.startOperationCall(operationName, operation);
|
||||
}
|
||||
property bool isLast: (expandedDevice == udi)
|
||||
property int operationResult: (model["Operation result"])
|
||||
|
||||
onIsLastChanged: {
|
||||
if (isLast) {
|
||||
notifierDialog.currentExpanded = index
|
||||
makeCurrent();
|
||||
}
|
||||
}
|
||||
onOperationResultChanged: {
|
||||
if (operationResult == 1) {
|
||||
plasmoid.setPopupIconByName("dialog-ok")
|
||||
popupIconTimer.restart()
|
||||
} else if (operationResult == 2) {
|
||||
plasmoid.setPopupIconByName("dialog-error")
|
||||
popupIconTimer.restart()
|
||||
}
|
||||
}
|
||||
Behavior on height { NumberAnimation { duration: 150 } }
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaCore.SvgItem {
|
||||
id: statusBarSeparator
|
||||
svg: lineSvg
|
||||
elementId: "horizontal-line"
|
||||
height: lineSvg.elementSize("horizontal-line").height
|
||||
anchors {
|
||||
bottom: statusBar.top
|
||||
bottomMargin: statusBar.visible ? 3:0
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
visible: statusBar.height>0
|
||||
}
|
||||
|
||||
StatusBar {
|
||||
id: statusBar
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: 5
|
||||
right: parent.right
|
||||
rightMargin: 5
|
||||
bottom: parent.bottom
|
||||
bottomMargin: 5
|
||||
}
|
||||
}
|
||||
} // MouseArea
|
||||
|
||||
function isMounted (udi) {
|
||||
var types = sdSource.data[udi]["Device Types"];
|
||||
if (types.indexOf("Storage Access")>=0) {
|
||||
if (sdSource.data[udi]["Accessible"]) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (types.indexOf("Storage Volume")>=0 && types.indexOf("OpticalDisc")>=0) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -154,16 +154,14 @@ Comment[zh_TW]=通知與存取新裝置
|
|||
Icon=device-notifier
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=Plasma/Applet,Plasma/PopupApplet
|
||||
X-KDE-Library=plasma_applet_devicenotifier
|
||||
|
||||
X-Plasma-API=declarativeappletscript
|
||||
X-Plasma-MainScript=ui/devicenotifier.qml
|
||||
X-Plasma-DefaultSize=290,340
|
||||
X-Plasma-NotificationArea=true
|
||||
X-Plasma-ConfigPlugins=solid-actions,device_automounter_kcm
|
||||
X-Plasma-ConfigPlugins=solidactions
|
||||
|
||||
X-KDE-PluginInfo-Author=Viranch Mehta, Jacopo De Simoi
|
||||
X-KDE-PluginInfo-Email=wilderkde@gmail.com
|
||||
X-KDE-PluginInfo-Name=notifier
|
||||
X-KDE-PluginInfo-Author=Ivailo Monev
|
||||
X-KDE-PluginInfo-Email=xakepa10@gmail.com
|
||||
X-KDE-PluginInfo-Name=devicenotifier
|
||||
X-KDE-PluginInfo-Version=1.0
|
||||
X-KDE-PluginInfo-Website=
|
||||
X-KDE-PluginInfo-Category=System Information
|
|
@ -1,11 +1,9 @@
|
|||
add_subdirectory(applicationjobs)
|
||||
add_subdirectory(apps)
|
||||
add_subdirectory(devicenotifications)
|
||||
add_subdirectory(dict)
|
||||
add_subdirectory(favicons)
|
||||
add_subdirectory(filebrowser)
|
||||
add_subdirectory(geolocation)
|
||||
add_subdirectory(hotplug)
|
||||
add_subdirectory(mpris2)
|
||||
add_subdirectory(notifications)
|
||||
add_subdirectory(places)
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
set(device_notifications_engine_SRCS
|
||||
devicenotificationsengine.cpp
|
||||
)
|
||||
|
||||
qt4_add_dbus_adaptor( device_notifications_engine_SRCS org.kde.DeviceNotifications.xml devicenotificationsengine.h DeviceNotificationsEngine )
|
||||
|
||||
kde4_add_plugin(plasma_engine_devicenotifications ${device_notifications_engine_SRCS})
|
||||
|
||||
target_link_libraries(plasma_engine_devicenotifications KDE4::plasma KDE4::kdecore)
|
||||
|
||||
install(TARGETS plasma_engine_devicenotifications DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
|
||||
install(FILES plasma-dataengine-devicenotifications.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR} )
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2010 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "devicenotificationsengine.h"
|
||||
#include "devicenotificationsadaptor.h"
|
||||
|
||||
#include <Plasma/DataContainer>
|
||||
|
||||
#include <KDebug>
|
||||
|
||||
DeviceNotificationsEngine::DeviceNotificationsEngine( QObject* parent, const QVariantList& args )
|
||||
: Plasma::DataEngine( parent, args ),
|
||||
m_id(0)
|
||||
{
|
||||
new DeviceNotificationsAdaptor(this);
|
||||
|
||||
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||
dbus.registerService( "org.kde.DeviceNotifications" );
|
||||
dbus.registerObject( "/org/kde/DeviceNotifications", this );
|
||||
}
|
||||
|
||||
DeviceNotificationsEngine::~DeviceNotificationsEngine()
|
||||
{
|
||||
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||
dbus.unregisterService( "org.kde.DeviceNotifications" );
|
||||
}
|
||||
|
||||
void DeviceNotificationsEngine::notify(int solidError, const QString& error, const QString& errorDetails, const QString &udi)
|
||||
{
|
||||
kDebug() << error << errorDetails << udi;
|
||||
const QString source = QString("notification %1").arg(m_id++);
|
||||
|
||||
Plasma::DataEngine::Data notificationData;
|
||||
notificationData.insert("solidError", solidError);
|
||||
notificationData.insert("error", error);
|
||||
notificationData.insert("errorDetails", errorDetails);
|
||||
notificationData.insert("udi", udi);
|
||||
|
||||
setData(source, notificationData );
|
||||
}
|
||||
|
||||
K_EXPORT_PLASMA_DATAENGINE(devicenotifications, DeviceNotificationsEngine)
|
||||
|
||||
#include "moc_devicenotificationsengine.cpp"
|
|
@ -1,50 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2010 Jacopo De Simoi <wilderkde@gmail.com>
|
||||
*
|
||||
* This program is free software you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef DEVICENOTIFICATIONSENGINE_H
|
||||
#define DEVICENOTIFICATIONSENGINE_H
|
||||
|
||||
#include <Plasma/DataEngine>
|
||||
|
||||
/**
|
||||
* Engine which provides data sources for device notifications.
|
||||
* Each notification is represented by one source.
|
||||
*/
|
||||
class DeviceNotificationsEngine : public Plasma::DataEngine
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_CLASSINFO("D-Bus Interface", "org.kde.DeviceNotifications")
|
||||
|
||||
public:
|
||||
DeviceNotificationsEngine( QObject* parent, const QVariantList& args );
|
||||
~DeviceNotificationsEngine();
|
||||
|
||||
/**
|
||||
* This function implements part of Notifications DBus interface.
|
||||
* Once called, will add notification source to the engine
|
||||
*/
|
||||
public slots:
|
||||
void notify(int solidError, const QString& error, const QString& errorDetails, const QString &udi);
|
||||
|
||||
private:
|
||||
uint m_id;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,11 +0,0 @@
|
|||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
<node>
|
||||
<interface name="org.kde.DeviceNotifications">
|
||||
<method name="notify">
|
||||
<arg name="solidError" type="i" direction="in"/>
|
||||
<arg name="error" type="s" direction="in"/>
|
||||
<arg name="errorDetails" type="s" direction="in"/>
|
||||
<arg name="udi" type="s" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
|
@ -1,133 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=Device Notifications
|
||||
Name[ar]=تنبيهات الأجهزة
|
||||
Name[ast]=Notificaciones de preséu
|
||||
Name[bg]=Уведомления от устройства
|
||||
Name[bn]=ডিভাইস বিজ্ঞপ্তি
|
||||
Name[bs]=Obavještenja o uređajima
|
||||
Name[ca]=Notificacions dels dispositius
|
||||
Name[ca@valencia]=Notificacions dels dispositius
|
||||
Name[cs]=Oznamování zařízení
|
||||
Name[da]=Enhedsbekendtgørelser
|
||||
Name[de]=Geräte-Benachrichtigungen
|
||||
Name[el]=Ειδοποιήσεις συσκευών
|
||||
Name[en_GB]=Device Notifications
|
||||
Name[es]=Notificaciones de dispositivo
|
||||
Name[et]=Seadmete märguanded
|
||||
Name[eu]=Gailu-jakinarazpenak
|
||||
Name[fi]=Laiteilmoitukset
|
||||
Name[fr]=Notifications des périphériques
|
||||
Name[ga]=Fógraí Gléasanna
|
||||
Name[gl]=Notificacións dos dispositivos
|
||||
Name[he]=הודעות של התקנים
|
||||
Name[hi]=औज़ार सूचनाएँ
|
||||
Name[hr]=Obavijesti uređaja
|
||||
Name[hu]=Eszközértesítések
|
||||
Name[ia]=Notificationes de dispositivo
|
||||
Name[id]=Notifikasi Divais
|
||||
Name[is]=Tilkynningar um tæki
|
||||
Name[it]=Notifiche dei dispositivi
|
||||
Name[ja]=デバイスの通知
|
||||
Name[kk]=Құрылғы құлақтандырулары
|
||||
Name[km]=ការជូនដំណឹងឧបករណ៍
|
||||
Name[kn]=ಸಾಧನ ಸೂಚನೆಗಳು
|
||||
Name[ko]=장치 알림
|
||||
Name[lt]=Pranešimai apie įrenginius
|
||||
Name[lv]=Iekārtu paziņojumi
|
||||
Name[mr]=साधन सूचना
|
||||
Name[nb]=Enhetsvarslinger
|
||||
Name[nds]=Reedschap-Bescheden
|
||||
Name[nl]=Meldingen van apparaten
|
||||
Name[pa]=ਜੰਤਰ ਨੋਟੀਫਿਕੇਸ਼ਨ
|
||||
Name[pl]=Powiadomienia urządzeń
|
||||
Name[pt]=Notificações de Dispositivos
|
||||
Name[pt_BR]=Notificações de dispositivos
|
||||
Name[ro]=Notificări dispozitive
|
||||
Name[ru]=Уведомления об устройствах
|
||||
Name[si]=මෙවලම් දැනුම් දීම්
|
||||
Name[sk]=Upozornenia zariadení
|
||||
Name[sl]=Obvestila o napravah
|
||||
Name[sr]=Обавештења о уређајима
|
||||
Name[sr@ijekavian]=Обавјештења о уређајима
|
||||
Name[sr@ijekavianlatin]=Obavještenja o uređajima
|
||||
Name[sr@latin]=Obaveštenja o uređajima
|
||||
Name[sv]=Enhetsunderrättelser
|
||||
Name[tg]=Огоҳиҳои дастгоҳ
|
||||
Name[th]=การแจ้งเกี่ยวกับอุปกรณ์
|
||||
Name[tr]=Aygıt Bildirimleri
|
||||
Name[ug]=ئۈسكۈنە ئۇقتۇرۇشلىرى
|
||||
Name[uk]=Сповіщення про пристрої
|
||||
Name[vi]=Thông báo thiết bị
|
||||
Name[wa]=Notifiaedjes des éndjins
|
||||
Name[x-test]=xxDevice Notificationsxx
|
||||
Name[zh_CN]=设备通知
|
||||
Name[zh_TW]=裝置通知
|
||||
Comment=Passive device notifications for the user.
|
||||
Comment[ar]=إشعارات مرئية غير متفاعلة للمستخدم
|
||||
Comment[ast]=Notificaciones pasives de preseos pal usuariu.
|
||||
Comment[bg]=Пасивни уведомления от устройствата за потребителя.
|
||||
Comment[bs]=Pasivna obavještenja o uređajima za korisnika.
|
||||
Comment[ca]=Notificacions passives de dispositius per a l'usuari.
|
||||
Comment[ca@valencia]=Notificacions passives de dispositius per a l'usuari.
|
||||
Comment[cs]=Pasivní upozornění zařízení pro uživatele.
|
||||
Comment[da]=Passive enhedsbekendtgørelser til brugeren.
|
||||
Comment[de]=Passive Benachrichtigungen für den Anwender.
|
||||
Comment[el]=Παθητική συσκευή ειδοποιήσεων για το χρήστη.
|
||||
Comment[en_GB]=Passive device notifications for the user.
|
||||
Comment[es]=Notificaciones pasivas de dispositivos para el usuario.
|
||||
Comment[et]=Passiivsed seadmete märguanded kasutajale.
|
||||
Comment[eu]=Erabiltzailearentzako gailu-jakinarazpen pasiboak.
|
||||
Comment[fi]=Passiivisia laiteilmoituksia käyttäjälle.
|
||||
Comment[fr]=Notifications passives de périphériques pour l'utilisateur.
|
||||
Comment[gl]=Notificacións pasivas dos dispositivos para o usuario.
|
||||
Comment[he]=הודעות פאסיביות של התקנים למשתמש.
|
||||
Comment[hr]=Pasivne obavijesti uređaja za korisnika.
|
||||
Comment[hu]=Passzív eszközértesítések a felhasználónak.
|
||||
Comment[ia]=Notificationes de dispositivo passive pro le usator.
|
||||
Comment[id]=Notifikasi divais pasif untuk pengguna.
|
||||
Comment[is]=Hlutlausar sjónrænar tilkynningar til notandans.
|
||||
Comment[it]=Notifiche dei dispositivi passive per l'utente.
|
||||
Comment[ja]=ユーザ用の受動的デバイス通知です。
|
||||
Comment[kk]=Құрылғы пайдаланушысына құлақтандырулары
|
||||
Comment[km]=ការជូនដំណឹងឧបករណ៍សកម្មសម្រាប់អ្នកប្រើ ។
|
||||
Comment[kn]=ಬಳಕೆದಾರನಿಗಾಗಿ ನಿಷ್ಕ್ರಿಯವಾಗಿರುವ ಸಾಧನ ಸೂಚನೆಗಳು.
|
||||
Comment[ko]=사용자에게 보이는 수동적인 장치 알림입니다.
|
||||
Comment[lt]=Pasyvūs pranešimai naudotojui apie įrenginius.
|
||||
Comment[lv]=Pasīvi iekārtu paziņojumi lietotājam.
|
||||
Comment[mr]=वापरकर्त्यासाठी साधन सूचना.
|
||||
Comment[nb]=Passive enhetsvarslinger for brukeren.
|
||||
Comment[nds]=Passiev Reedschap-Bescheden för den Bruker
|
||||
Comment[nl]=Passieve meldingen van apparaten voor de gebruiker.
|
||||
Comment[pa]=ਯੂਜ਼ਰ ਲਈ ਪੈਸਿਵ ਜੰਤਰ ਨੋਟੀਫਿਕੇਸ਼ਨ।
|
||||
Comment[pl]=Bierne powiadomienia urządzenia dla użytkownika.
|
||||
Comment[pt]=Notificações passivas de dispositivos para o utilizador.
|
||||
Comment[pt_BR]=Notificações passivas de dispositivos para o usuário.
|
||||
Comment[ro]=Notificări de dispozitiv pasive pentru utilizator.
|
||||
Comment[ru]=Пассивные уведомления для пользователя об оборудовании.
|
||||
Comment[si]=පරිශීලකයන් සඳහා නිශ්ක්රීය මෙවලම් දැනුම්දීම්.
|
||||
Comment[sk]=Pasívne upozornenia zariadení pre užívateľa.
|
||||
Comment[sl]=Pasivna obvestila o napravah za uporabnika.
|
||||
Comment[sr]=Пасивна обавештења о уређајима за корисника.
|
||||
Comment[sr@ijekavian]=Пасивна обавјештења о уређајима за корисника.
|
||||
Comment[sr@ijekavianlatin]=Pasivna obavještenja o uređajima za korisnika.
|
||||
Comment[sr@latin]=Pasivna obaveštenja o uređajima za korisnika.
|
||||
Comment[sv]=Passiva enhetsunderrättelser för användaren.
|
||||
Comment[th]=การแจ้งอุปกรณ์ที่ไม่มีปฏิกิริยาแก่ผู้ใช้
|
||||
Comment[tr]=Kullanıcı için pasif aygıt bildirimleri.
|
||||
Comment[ug]=ئىشلەتكۈچىگە پاسسىپ كۆرۈنىدىغان ئۈسكۈنىلەرنى ئۇقتۇرىدۇ.
|
||||
Comment[uk]=Пасивні сповіщення користувача щодо пристроїв.
|
||||
Comment[wa]=Notifiaedjes doirmants des éndjins po l' uzeu.
|
||||
Comment[x-test]=xxPassive device notifications for the user.xx
|
||||
Comment[zh_CN]=为用户提供被动出现的设备通知。
|
||||
Comment[zh_TW]=給使用者的被動裝置通知。
|
||||
X-KDE-ServiceTypes=Plasma/DataEngine
|
||||
Type=Service
|
||||
Icon=device-notifier
|
||||
X-KDE-Library=plasma_engine_devicenotifications
|
||||
|
||||
X-KDE-PluginInfo-Author=Jacopo De Simoi
|
||||
X-KDE-PluginInfo-Email=wilderkde@gmail.com
|
||||
X-KDE-PluginInfo-Name=devicenotifications
|
||||
X-KDE-PluginInfo-Version=
|
||||
X-KDE-PluginInfo-Website=
|
||||
X-KDE-PluginInfo-Category=
|
|
@ -1,22 +0,0 @@
|
|||
set(hotplug_engine_SRCS
|
||||
hotplugengine.cpp
|
||||
hotplugservice.cpp
|
||||
hotplugjob.cpp
|
||||
)
|
||||
|
||||
kde4_add_plugin(plasma_engine_hotplug ${hotplug_engine_SRCS})
|
||||
target_link_libraries(plasma_engine_hotplug
|
||||
KDE4::plasma
|
||||
KDE4::kdecore
|
||||
KDE4::solid
|
||||
KDE4::kio
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS plasma_engine_hotplug
|
||||
DESTINATION ${KDE4_PLUGIN_INSTALL_DIR}
|
||||
)
|
||||
install(
|
||||
FILES plasma-dataengine-hotplug.desktop
|
||||
DESTINATION ${KDE4_SERVICES_INSTALL_DIR}
|
||||
)
|
|
@ -1,268 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2007 Menard Alexis <darktears31@gmail.com>
|
||||
*
|
||||
* This program is free software you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "hotplugengine.h"
|
||||
#include "hotplugservice.h"
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
#include <KDirWatch>
|
||||
#include <KConfigGroup>
|
||||
#include <KDebug>
|
||||
#include <KLocale>
|
||||
#include <KStandardDirs>
|
||||
#include <KDesktopFile>
|
||||
#include <kdesktopfileactions.h>
|
||||
#include <Plasma/DataContainer>
|
||||
|
||||
//solid specific includes
|
||||
#include <Solid/DeviceNotifier>
|
||||
#include <Solid/Device>
|
||||
#include <Solid/DeviceInterface>
|
||||
#include <Solid/StorageDrive>
|
||||
#include <Solid/StorageVolume>
|
||||
#include <Solid/OpticalDisc>
|
||||
|
||||
//#define HOTPLUGENGINE_TIMING
|
||||
|
||||
HotplugEngine::HotplugEngine(QObject* parent, const QVariantList& args)
|
||||
: Plasma::DataEngine(parent, args),
|
||||
m_dirWatch(new KDirWatch(this))
|
||||
{
|
||||
m_dirWatch->setInterval(5000);
|
||||
QStringList folders = KGlobal::dirs()->findDirs("data", "solid/actions/");
|
||||
foreach (const QString &folder, folders) {
|
||||
m_dirWatch->addDir(folder);
|
||||
}
|
||||
connect(m_dirWatch, SIGNAL(dirty(QString)), this, SLOT(updatePredicates(QString)));
|
||||
}
|
||||
|
||||
HotplugEngine::~HotplugEngine()
|
||||
{
|
||||
}
|
||||
|
||||
void HotplugEngine::init()
|
||||
{
|
||||
findPredicates();
|
||||
|
||||
Solid::Predicate p(Solid::DeviceInterface::StorageAccess);
|
||||
p |= Solid::Predicate(Solid::DeviceInterface::StorageDrive);
|
||||
p |= Solid::Predicate(Solid::DeviceInterface::StorageVolume);
|
||||
p |= Solid::Predicate(Solid::DeviceInterface::OpticalDrive);
|
||||
p |= Solid::Predicate(Solid::DeviceInterface::PortableMediaPlayer);
|
||||
p |= Solid::Predicate(Solid::DeviceInterface::Camera);
|
||||
QList<Solid::Device> devices = Solid::Device::listFromQuery(p);
|
||||
foreach (const Solid::Device &dev, devices) {
|
||||
m_startList.insert(dev.udi(), dev);
|
||||
}
|
||||
|
||||
connect(Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(QString)),
|
||||
this, SLOT(onDeviceAdded(QString)));
|
||||
connect(Solid::DeviceNotifier::instance(), SIGNAL(deviceRemoved(QString)),
|
||||
this, SLOT(onDeviceRemoved(QString)));
|
||||
|
||||
m_encryptedPredicate = Solid::Predicate("StorageVolume", "usage", "Encrypted");
|
||||
|
||||
processNextStartupDevice();
|
||||
}
|
||||
|
||||
Plasma::Service* HotplugEngine::serviceForSource(const QString& source)
|
||||
{
|
||||
return new HotplugService (this, source);
|
||||
}
|
||||
|
||||
void HotplugEngine::processNextStartupDevice()
|
||||
{
|
||||
if (!m_startList.isEmpty()) {
|
||||
QHash<QString, Solid::Device>::iterator it = m_startList.begin();
|
||||
//Solid::Device dev = const_cast<Solid::Device &>(m_startList.takeFirst());
|
||||
onDeviceAdded(it.value(), false);
|
||||
m_startList.erase(it);
|
||||
}
|
||||
|
||||
if (m_startList.isEmpty()) {
|
||||
m_predicates.clear();
|
||||
} else {
|
||||
QTimer::singleShot(0, this, SLOT(processNextStartupDevice()));
|
||||
}
|
||||
}
|
||||
|
||||
void HotplugEngine::findPredicates()
|
||||
{
|
||||
m_predicates.clear();
|
||||
|
||||
foreach (const QString &path, KGlobal::dirs()->findAllResources("data", "solid/actions/")) {
|
||||
KDesktopFile cfg(path);
|
||||
const QString string_predicate = cfg.desktopGroup().readEntry("X-KDE-Solid-Predicate");
|
||||
//kDebug() << path << string_predicate;
|
||||
m_predicates.insert(KUrl(path).fileName(), Solid::Predicate::fromString(string_predicate));
|
||||
}
|
||||
|
||||
if (m_predicates.isEmpty()) {
|
||||
m_predicates.insert(QString(), Solid::Predicate::fromString(QString()));
|
||||
}
|
||||
}
|
||||
|
||||
void HotplugEngine::updatePredicates(const QString &path)
|
||||
{
|
||||
Q_UNUSED(path)
|
||||
|
||||
findPredicates();
|
||||
|
||||
QHashIterator<QString, Solid::Device> it(m_devices);
|
||||
while (it.hasNext()) {
|
||||
it.next();
|
||||
Solid::Device device(it.value());
|
||||
QString udi(it.key());
|
||||
|
||||
const QStringList predicates = predicatesForDevice(device);
|
||||
if (!predicates.isEmpty()) {
|
||||
if (sources().contains(udi)) {
|
||||
Plasma::DataEngine::Data data;
|
||||
data.insert("predicateFiles", predicates);
|
||||
setData(udi, data);
|
||||
} else {
|
||||
onDeviceAdded(device, false);
|
||||
}
|
||||
} else if (!m_encryptedPredicate.matches(device) && sources().contains(udi)) {
|
||||
removeSource(udi);
|
||||
scheduleSourcesUpdated();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QStringList HotplugEngine::predicatesForDevice(Solid::Device &device) const
|
||||
{
|
||||
QStringList interestingDesktopFiles;
|
||||
//search in all desktop configuration file if the device inserted is a correct device
|
||||
QHashIterator<QString, Solid::Predicate> it(m_predicates);
|
||||
//kDebug() << "=================" << udi;
|
||||
while (it.hasNext()) {
|
||||
it.next();
|
||||
if (it.value().matches(device)) {
|
||||
//kDebug() << " hit" << it.key();
|
||||
interestingDesktopFiles << it.key();
|
||||
}
|
||||
}
|
||||
|
||||
return interestingDesktopFiles;
|
||||
}
|
||||
|
||||
void HotplugEngine::onDeviceAdded(const QString &udi)
|
||||
{
|
||||
Solid::Device device(udi);
|
||||
onDeviceAdded(device);
|
||||
}
|
||||
|
||||
void HotplugEngine::onDeviceAdded(Solid::Device &device, bool added)
|
||||
{
|
||||
//kDebug() << "adding" << device.udi();
|
||||
#ifdef HOTPLUGENGINE_TIMING
|
||||
QTime t;
|
||||
t.start();
|
||||
#endif
|
||||
// Skip things we know we don't care about
|
||||
if (device.is<Solid::StorageDrive>()) {
|
||||
Solid::StorageDrive *drive = device.as<Solid::StorageDrive>();
|
||||
if (!drive->isHotpluggable()) {
|
||||
#ifdef HOTPLUGENGINE_TIMING
|
||||
kDebug() << "storage, but not pluggable, returning" << t.restart();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
} else if (device.is<Solid::StorageVolume>()) {
|
||||
Solid::StorageVolume *volume = device.as<Solid::StorageVolume>();
|
||||
Solid::StorageVolume::UsageType type = volume->usage();
|
||||
if ((type == Solid::StorageVolume::Unused ||
|
||||
type == Solid::StorageVolume::PartitionTable) && !device.is<Solid::OpticalDisc>()) {
|
||||
#ifdef HOTPLUGENGINE_TIMING
|
||||
kDebug() << "storage volume, but not of interest" << t.restart();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
m_devices.insert(device.udi(), device);
|
||||
|
||||
if (m_predicates.isEmpty()) {
|
||||
findPredicates();
|
||||
}
|
||||
|
||||
const QStringList interestingDesktopFiles = predicatesForDevice(device);
|
||||
const bool isEncryptedContainer = m_encryptedPredicate.matches(device);
|
||||
|
||||
if (!interestingDesktopFiles.isEmpty() || isEncryptedContainer) {
|
||||
//kDebug() << device.product();
|
||||
//kDebug() << device.vendor();
|
||||
//kDebug() << "number of interesting desktop file : " << interestingDesktopFiles.size();
|
||||
Plasma::DataEngine::Data data;
|
||||
data.insert("added", added);
|
||||
data.insert("udi", device.udi());
|
||||
|
||||
if (!device.description().isEmpty()) {
|
||||
data.insert("text", device.description());
|
||||
} else {
|
||||
data.insert("text", QString(device.vendor() + QLatin1Char(' ') + device.product()));
|
||||
}
|
||||
data.insert("icon", device.icon());
|
||||
data.insert("emblems", device.emblems());
|
||||
data.insert("predicateFiles", interestingDesktopFiles);
|
||||
|
||||
QVariantList actions;
|
||||
foreach(const QString& desktop, interestingDesktopFiles) {
|
||||
QString actionUrl = KStandardDirs::locate("data", "solid/actions/" + desktop);
|
||||
QList<KServiceAction> services = KDesktopFileActions::userDefinedServices(actionUrl, true);
|
||||
if (!services.isEmpty()) {
|
||||
Plasma::DataEngine::Data action;
|
||||
action.insert("predicate", desktop);
|
||||
action.insert("text", services[0].text());
|
||||
action.insert("icon", services[0].icon());
|
||||
actions << action;
|
||||
}
|
||||
}
|
||||
data.insert("actions", actions);
|
||||
|
||||
data.insert("isEncryptedContainer", isEncryptedContainer);
|
||||
|
||||
setData(device.udi(), data);
|
||||
//kDebug() << "add hardware solid : " << udi;
|
||||
}
|
||||
|
||||
#ifdef HOTPLUGENGINE_TIMING
|
||||
kDebug() << "total time" << t.restart();
|
||||
#endif
|
||||
}
|
||||
|
||||
void HotplugEngine::onDeviceRemoved(const QString &udi)
|
||||
{
|
||||
//kDebug() << "remove hardware:" << udi;
|
||||
|
||||
if (m_startList.contains(udi)) {
|
||||
m_startList.remove(udi);
|
||||
return;
|
||||
}
|
||||
|
||||
m_devices.remove(udi);
|
||||
removeSource(udi);
|
||||
scheduleSourcesUpdated();
|
||||
}
|
||||
|
||||
K_EXPORT_PLASMA_DATAENGINE(hotplug, HotplugEngine)
|
||||
|
||||
#include "moc_hotplugengine.cpp"
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2007 Menard Alexis <darktears31@gmail.com>
|
||||
*
|
||||
* This program is free software you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef HOTPLUGENGINE_H
|
||||
#define HOTPLUGENGINE_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include <Plasma/DataEngine>
|
||||
#include <Plasma/Service>
|
||||
|
||||
#include <Solid/Predicate>
|
||||
|
||||
class KDirWatch;
|
||||
|
||||
/**
|
||||
* This class is connected with solid, filter devices and provide signal with source for applet in Plasma
|
||||
*/
|
||||
class HotplugEngine : public Plasma::DataEngine
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
HotplugEngine( QObject* parent, const QVariantList& args);
|
||||
~HotplugEngine();
|
||||
void init();
|
||||
Plasma::Service* serviceForSource(const QString& source);
|
||||
|
||||
protected Q_SLOTS:
|
||||
void onDeviceAdded(const QString &udi);
|
||||
void onDeviceRemoved(const QString &udi);
|
||||
|
||||
private:
|
||||
void onDeviceAdded(Solid::Device &dev, bool added = true);
|
||||
void findPredicates();
|
||||
QStringList predicatesForDevice(Solid::Device &device) const;
|
||||
|
||||
private Q_SLOTS:
|
||||
void processNextStartupDevice();
|
||||
void updatePredicates(const QString &path);
|
||||
|
||||
private:
|
||||
QHash<QString, Solid::Predicate> m_predicates;
|
||||
QHash<QString, Solid::Device> m_startList;
|
||||
QHash<QString, Solid::Device> m_devices;
|
||||
Solid::Predicate m_encryptedPredicate;
|
||||
KDirWatch *m_dirWatch;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,45 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License version 2 as
|
||||
* published by the Free Software Foundation
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "hotplugjob.h"
|
||||
#include "hotplugengine.h"
|
||||
|
||||
#include <QtDBus/QDBusInterface>
|
||||
#include <QtDBus/QDBusReply>
|
||||
|
||||
#include <KDebug>
|
||||
|
||||
void HotplugJob::start()
|
||||
{
|
||||
QString udi (m_dest);
|
||||
QString operation = operationName();
|
||||
|
||||
if (operation == "invokeAction") {
|
||||
QString action = parameters()["predicate"].toString();
|
||||
|
||||
QStringList desktopFiles;
|
||||
desktopFiles << action;
|
||||
QDBusInterface soliduiserver("org.kde.kded", "/modules/soliduiserver", "org.kde.SolidUiServer");
|
||||
QDBusReply<void> reply = soliduiserver.call("showActionsDialog", udi, desktopFiles);
|
||||
}
|
||||
|
||||
emitResult();
|
||||
}
|
||||
|
||||
#include "moc_hotplugjob.cpp"
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License version 2 as
|
||||
* published by the Free Software Foundation
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef HOTPLUG_JOB_H
|
||||
#define HOTPLUG_JOB_H
|
||||
|
||||
#include "hotplugengine.h"
|
||||
|
||||
#include <Plasma/ServiceJob>
|
||||
|
||||
class HotplugJob : public Plasma::ServiceJob
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
HotplugJob (const QString& destination,
|
||||
const QString& operation,
|
||||
const QMap<QString, QVariant>& parameters,
|
||||
QObject* parent = 0)
|
||||
: ServiceJob (destination, operation, parameters, parent),
|
||||
m_dest (destination)
|
||||
{
|
||||
}
|
||||
|
||||
void start();
|
||||
|
||||
private:
|
||||
QString m_dest;
|
||||
};
|
||||
|
||||
#endif // HOTPLUG_JOB_H
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License version 2 as
|
||||
* published by the Free Software Foundation
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "hotplugservice.h"
|
||||
#include "hotplugjob.h"
|
||||
#include "hotplugengine.h"
|
||||
|
||||
HotplugService::HotplugService (HotplugEngine* parent, const QString& source)
|
||||
: Plasma::Service (parent)
|
||||
{
|
||||
setName ("hotplug");
|
||||
setOperationNames(
|
||||
QStringList()
|
||||
<< "invokeAction"
|
||||
);
|
||||
setDestination (source);
|
||||
}
|
||||
|
||||
Plasma::ServiceJob* HotplugService::createJob (const QString& operation,
|
||||
const QMap <QString, QVariant>& parameters)
|
||||
{
|
||||
return new HotplugJob (destination(), operation, parameters, this);
|
||||
}
|
||||
|
||||
#include "moc_hotplugservice.cpp"
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2011 Viranch Mehta <viranch.mehta@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License version 2 as
|
||||
* published by the Free Software Foundation
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this program; if not, write to the
|
||||
* Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef HOTPLUG_SERVICE_H
|
||||
#define HOTPLUG_SERVICE_H
|
||||
|
||||
#include <Plasma/Service>
|
||||
|
||||
class HotplugEngine;
|
||||
|
||||
class HotplugService : public Plasma::Service
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
HotplugService (HotplugEngine* parent, const QString& source);
|
||||
|
||||
protected:
|
||||
Plasma::ServiceJob* createJob (const QString& operation,
|
||||
const QMap<QString, QVariant>& parameters);
|
||||
|
||||
private:
|
||||
QString m_dest;
|
||||
};
|
||||
|
||||
#endif // HOTPLUG_SERVICE_H
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=Hotplug Events
|
||||
Name[ar]=أحداث التوصيل
|
||||
Name[ast]=Eventos en caliente
|
||||
Name[be@latin]=Źjaŭleńnie novych pryładaŭ
|
||||
Name[bn]=হট-প্লাগ ঘটনাবলী
|
||||
Name[bs]=događaji vrućeg uključivanja
|
||||
Name[ca]=Esdeveniments de connexió en calent
|
||||
Name[ca@valencia]=Esdeveniments de connexió en calent
|
||||
Name[cs]=Události hotplugu
|
||||
Name[csb]=Hotplug Event
|
||||
Name[da]=Hotplug-begivenheder
|
||||
Name[de]=Hotplug-Ereignisse
|
||||
Name[el]=Γεγονότα Hotplug
|
||||
Name[en_GB]=Hotplug Events
|
||||
Name[eo]=Dumkura permuteblaj eventoj
|
||||
Name[es]=Eventos en caliente
|
||||
Name[et]=Hotplug-sündmused
|
||||
Name[eu]=Hotplug gertaerak
|
||||
Name[fi]=Hotplug-tapahtumat
|
||||
Name[fr]=Événements de branchement à chaud
|
||||
Name[fy]=Hotplug barren
|
||||
Name[ga]=Imeachtaí Hotplug
|
||||
Name[gl]=Acontecementos de Hotplug
|
||||
Name[gu]=હોટપ્લગ ઇવેન્ટ્સ
|
||||
Name[he]=אירועי חיבור התקנים נשלפים
|
||||
Name[hi]=हाटप्लग घटनाएँ
|
||||
Name[hne]=हाटप्लग घटना
|
||||
Name[hr]=Događaji brzog uštekavanja
|
||||
Name[hu]=Eszközcsatolást kezelő plazmoid
|
||||
Name[ia]=Eventos de hotplug
|
||||
Name[id]=Acara Hotplug
|
||||
Name[is]=Hraðtengingaatburðir
|
||||
Name[it]=Eventi di collegamento in marcia
|
||||
Name[ja]=Hotplug イベント
|
||||
Name[kk]=Істеп турғанда қосу оқиғалар
|
||||
Name[km]=ព្រឹត្តិការណ៍ដោតដើរ
|
||||
Name[kn]=Hotplug ಘಟನೆಗಳು (ಈವೆಂಟ್)
|
||||
Name[ko]=핫플러그 이벤트
|
||||
Name[lt]=Hotplug įvykiai
|
||||
Name[lv]=Hotplug notikumi
|
||||
Name[ml]=ഹോട്ട്പ്ലഗ് സംഭവങ്ങള്
|
||||
Name[mr]=हॉटप्लग घटना
|
||||
Name[nb]=Tilkoblingshendelser
|
||||
Name[nds]=Tokoppel-Begeefnissen
|
||||
Name[nl]=Hotplug-gebeurtenissen
|
||||
Name[nn]=Hotplug-hendingar
|
||||
Name[pa]=ਹਾਟਪਲੱਗ ਈਵੈਂਟ
|
||||
Name[pl]=Zdarzenia podłączenia "na gorąco"
|
||||
Name[pt]=Eventos do Hotplug
|
||||
Name[pt_BR]=Eventos do hotplug
|
||||
Name[ro]=Evenimente de atașare
|
||||
Name[ru]=Уведомление о подключении устройств
|
||||
Name[si]=හොට් ප්ලග් අවස්ථා
|
||||
Name[sk]=Hotplug udalosti
|
||||
Name[sl]=Priključitve
|
||||
Name[sr]=догађаји врућег укључивања
|
||||
Name[sr@ijekavian]=догађаји врућег укључивања
|
||||
Name[sr@ijekavianlatin]=događaji vrućeg uključivanja
|
||||
Name[sr@latin]=događaji vrućeg uključivanja
|
||||
Name[sv]=Inkopplingshändelser
|
||||
Name[ta]=Hotplug Events
|
||||
Name[tg]=Дастгоҳҳои пайвастшаванда
|
||||
Name[th]=เหตุการณ์อุปกรณ์ Hot Plug
|
||||
Name[tr]=Tak Kullan Olayları
|
||||
Name[ug]=قىزىق قىستۇرۇش ھادىسىسى
|
||||
Name[uk]=Події гарячого підключення
|
||||
Name[vi]=Các sự kiện tháo lắp nóng
|
||||
Name[wa]=Evenmints tchôd-tchôkîs
|
||||
Name[x-test]=xxHotplug Eventsxx
|
||||
Name[zh_CN]=热插拔事件
|
||||
Name[zh_TW]=熱插拔事件
|
||||
Comment=Tracks hot-pluggable devices as they appear and disappear.
|
||||
Comment[ar]=تتابع الأجهزة المركبة عندما تظهر أو تختفي
|
||||
Comment[ast]=Rexistra los preseos estrayibles cuando apaecen y desapaecen.
|
||||
Comment[bs]=Prati pojavljivanja i nestanke vruće uklonjivih uređaja.
|
||||
Comment[ca]=Segueix els dispositius de connexió en calent quan apareixen i desapareixen.
|
||||
Comment[ca@valencia]=Segueix els dispositius de connexió en calent quan apareixen i desapareixen.
|
||||
Comment[cs]=Oznamovat připojení a odpojení za běhu připojitelných zařízení
|
||||
Comment[da]=Holder styr på flytbare enheder efterhånden som de dukker op og forsvinder.
|
||||
Comment[de]=Überwacht Hotplug-Geräte auf Aktivierung und Deaktivierung
|
||||
Comment[el]=Ανίχνευση συσκευών hot-plug καθώς εμφανίζονται και εξαφανίζονται.
|
||||
Comment[en_GB]=Tracks hot-pluggable devices as they appear and disappear.
|
||||
Comment[es]=Registra los dispositivos extraíbles cuando aparecen y desaparecen.
|
||||
Comment[et]=Töö ajal ühendatavate seadmete ilmumise ja kadumise jälgimine.
|
||||
Comment[eu]=Martxan konekta daitezkeen gailuen jarraipena egiten du agertu eta desagertzen diren heinean.
|
||||
Comment[fi]=Jäljittää lennosta kytkeytyviä laitteita kun ne ilmaantuvat ja katoavat.
|
||||
Comment[fr]=Surveille l'apparition ou la disparition des périphériques pouvant être connectés à chaud.
|
||||
Comment[fy]=Hâld hot-pluggeble aparaten yn de gaten as se ferskine of ferside gean.
|
||||
Comment[gl]=Segue a pista dos dispositivos conectábeis en quente á medida que van aparecendo e desaparecendo.
|
||||
Comment[he]=משמש למעקב אחר התקנים נשלפים בעת חיבורם וניתוקם.
|
||||
Comment[hr]=Pratite uređaje za brzo uštekavanje kako se pojavljuju i nestaju
|
||||
Comment[hu]=Követi a menet közben csatolható (hot-pluggable) eszközöket.
|
||||
Comment[ia]=Il tracia dispositivos hot-pluggable (insertabile a calide) assi como illos appare e disappare
|
||||
Comment[id]=Lacak divais hot-plug ketika mereka muncul atau menghilang.
|
||||
Comment[is]=Fylgist með hraðtengdum tækjum um leið og þau birtast eða hverfa.
|
||||
Comment[it]=Sorveglia il collegamento e lo scollegamento dei dispositivi collegabili mentre il sistema è in funzione.
|
||||
Comment[ja]=ホットプラグ可能なデバイスが抜き差しされるのを捕捉します。
|
||||
Comment[kk]=Істеп турғанда қосылатын құрылғылардың қосылғанын/ажыратылғанын бақылау.
|
||||
Comment[km]=តាមដានឧបករណ៍ដែលអាចដោតដើរដូចពួកវាបង្ហាញ និងមិនបង្ហាញ ។
|
||||
Comment[kn]=ಹಾಟ್-ಪ್ಲಗ್ ಮಾಡಬಹುದಾದಂತಹ ಸಾಧನಗಳು ಕಾಣಿಸಿಕೊಂಡಾಗ ಹಾಗು ಅಡಗಿಸಿದಾಗ ಅವುಗಳ ಜಾಡನ್ನು ಇರಿಸುತ್ತದೆ.
|
||||
Comment[ko]=장치가 연결되고 해제될 때 기록합니다.
|
||||
Comment[lt]=Seka įrenginių prijungimą ir atjungimą.
|
||||
Comment[lv]=Seko līdzi noņemamo ierīču pieslēgšanai un atvienošanai.
|
||||
Comment[ml]=കമ്പ്യൂട്ടര് പ്രവര്ത്തിച്ചു് കൊണ്ടിരിക്കുമ്പോള് കുത്താവുന്ന ഉപകരണങ്ങള് പ്രത്യക്ഷപ്പെടുന്നതും അപ്രത്യക്ഷമാകുന്നതും നിരീക്ഷിക്കുന്നു.
|
||||
Comment[mr]=हॉटप्लग करता येणाऱ्या साधनांवर लक्ष ठेवतो.
|
||||
Comment[nb]=Sporer enheter som kan kobles til og fra ettersom de dukker opp og forsvinner
|
||||
Comment[nds]=Luert op Reedschappen, de sik hitt tokoppeln laat
|
||||
Comment[nl]=Volgt inplugbare apparaten als deze verschijnen en verdwijnen.
|
||||
Comment[nn]=Sporar hotplug-einingar når dei dukkar opp og forsvinn.
|
||||
Comment[pa]=ਹਾਟ-ਪਲੱਗਯੋਗ ਜੰਤਰ ਜਾਣਕਾਰੀ, ਜਿਵੇਂ ਉਹ ਲਗਾਏ ਤੇ ਹਟਾਏ ਜਾਣਗੇ।
|
||||
Comment[pl]=Śledzenie urządzeń podłączanych "na gorąco", przy ich pojawianiu i znikaniu.
|
||||
Comment[pt]=Segue os dispositivos removíveis, à medida que aparecem e desaparecem.
|
||||
Comment[pt_BR]=Segue os dispositivos removíveis, à medida que aparecem e desaparecem.
|
||||
Comment[ro]=Urmărește dispozitivele detașabile după cum apar sau dispar.
|
||||
Comment[ru]=Следит за появлением и исчезновением подключаемых на лету устройств.
|
||||
Comment[si]=හොට්-ප්ලග් කල හැකි උපකරණ ඒවා පෙනෙන හා නොපෙනෙන විට හඳුනාගන්න
|
||||
Comment[sk]=Sleduje hot-plug zariadenia pri ich zobrazení a zmiznutí.
|
||||
Comment[sl]=Sledi odstranljivim napravam, ki se pojavljajo in izginjajo.
|
||||
Comment[sr]=Прати појављивања и нестанке вруће уклоњивих уређаја.
|
||||
Comment[sr@ijekavian]=Прати појављивања и нестанке вруће уклоњивих уређаја.
|
||||
Comment[sr@ijekavianlatin]=Prati pojavljivanja i nestanke vruće uklonjivih uređaja.
|
||||
Comment[sr@latin]=Prati pojavljivanja i nestanke vruće uklonjivih uređaja.
|
||||
Comment[sv]=Följer enheter som kan kopplas in under spänning när de dyker upp och försvinner.
|
||||
Comment[th]=ติดตามการตรวจพบ/ไม่พบ อุปกรณ์ประเภทถอด/เสียบได้
|
||||
Comment[tr]=Takıldıklarında ve çıkarıldıklarında tak kullan aygıtlarını izler.
|
||||
Comment[ug]=قىزىق قىستۇرۇلىدىغان ئۈسكۈنىلەرنىڭ ھاسىل بولۇشى ۋە يوقىلىشىنى ئىزلايدۇ.
|
||||
Comment[uk]=Стежить за з’єднанням і від’єднанням портативних пристроїв.
|
||||
Comment[wa]=Shût les édjins tchôd-tchôcåves cwand il aparexhèt et disparexhèt.
|
||||
Comment[x-test]=xxTracks hot-pluggable devices as they appear and disappear.xx
|
||||
Comment[zh_CN]=跟踪热插拔设备的产生与消失。
|
||||
Comment[zh_TW]=追蹤熱插拔裝置的插入與拔除。
|
||||
X-KDE-ServiceTypes=Plasma/DataEngine
|
||||
Type=Service
|
||||
Icon=drive-removable-media-usb
|
||||
X-KDE-Library=plasma_engine_hotplug
|
||||
|
||||
X-KDE-PluginInfo-Author=The Plasma Team
|
||||
X-KDE-PluginInfo-Email=wilderkde@gmail.com
|
||||
X-KDE-PluginInfo-Name=hotplug
|
||||
X-KDE-PluginInfo-Version=
|
||||
X-KDE-PluginInfo-Website=
|
||||
X-KDE-PluginInfo-Category=
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
include_directories(
|
||||
${CMAKE_SOURCE_DIR}/soliduiserver
|
||||
)
|
||||
|
||||
set(krunner_solid_SRCS
|
||||
solidrunner.cpp
|
||||
)
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
|
||||
#include "solidrunner.h"
|
||||
#include "soliduiserver_common.h"
|
||||
|
||||
#include <KIcon>
|
||||
#include <KToolInvocation>
|
||||
|
@ -43,76 +44,6 @@ static QString kSolidUDI(const QString &matchid)
|
|||
return matchid;
|
||||
}
|
||||
|
||||
static void kSolidMountUDI(const QString &solidudi)
|
||||
{
|
||||
Solid::Device soliddevice(solidudi);
|
||||
Solid::StorageAccess* solidstorageacces = soliddevice.as<Solid::StorageAccess>();
|
||||
if (!solidstorageacces) {
|
||||
kWarning() << "not storage access" << solidudi;
|
||||
return;
|
||||
}
|
||||
solidstorageacces->setup();
|
||||
}
|
||||
|
||||
static void kSolidUnmountUDI(const QString &solidudi)
|
||||
{
|
||||
Solid::Device soliddevice(solidudi);
|
||||
Solid::StorageAccess* solidstorageacces = soliddevice.as<Solid::StorageAccess>();
|
||||
if (!solidstorageacces) {
|
||||
kWarning() << "not storage access" << solidudi;
|
||||
return;
|
||||
}
|
||||
solidstorageacces->teardown();
|
||||
}
|
||||
|
||||
static void kSolidEjectUDI(const QString &solidudi)
|
||||
{
|
||||
Solid::Device soliddevice(solidudi);
|
||||
Solid::OpticalDrive *solidopticaldrive = soliddevice.as<Solid::OpticalDrive>();
|
||||
if (!solidopticaldrive) {
|
||||
kWarning() << "not optical drive" << solidudi;
|
||||
return;
|
||||
}
|
||||
solidopticaldrive->eject();
|
||||
}
|
||||
|
||||
// simplified version of KMacroExpander specialized for solid actions
|
||||
static QStringList kSolidActionCommand(const QString &command, const QString &solidudi)
|
||||
{
|
||||
Solid::Device soliddevice(solidudi);
|
||||
Solid::StorageAccess* solidstorageacces = soliddevice.as<Solid::StorageAccess>();
|
||||
if (solidstorageacces && !solidstorageacces->isAccessible()) {
|
||||
kSolidMountUDI(solidudi);
|
||||
}
|
||||
|
||||
QString actioncommand = command;
|
||||
if (actioncommand.contains(QLatin1String("%f")) || actioncommand.contains(QLatin1String("%F"))) {
|
||||
if (!solidstorageacces) {
|
||||
kWarning() << "device is not storage access" << soliddevice.udi();
|
||||
} else {
|
||||
const QString devicefilepath = solidstorageacces->filePath();
|
||||
actioncommand = actioncommand.replace(QLatin1String("%f"), devicefilepath);
|
||||
actioncommand = actioncommand.replace(QLatin1String("%F"), devicefilepath);
|
||||
}
|
||||
}
|
||||
if (actioncommand.contains(QLatin1String("%d")) || actioncommand.contains(QLatin1String("%D"))) {
|
||||
const Solid::Block* solidblock = soliddevice.as<Solid::Block>();
|
||||
if (!solidblock) {
|
||||
kWarning() << "device is not block" << soliddevice.udi();
|
||||
} else {
|
||||
const QString devicedevice = solidblock->device();
|
||||
actioncommand = actioncommand.replace(QLatin1String("%d"), devicedevice);
|
||||
actioncommand = actioncommand.replace(QLatin1String("%D"), devicedevice);
|
||||
}
|
||||
}
|
||||
if (actioncommand.contains(QLatin1String("%i")) || actioncommand.contains(QLatin1String("%I"))) {
|
||||
const QString deviceudi = soliddevice.udi();
|
||||
actioncommand = actioncommand.replace(QLatin1String("%i"), deviceudi);
|
||||
actioncommand = actioncommand.replace(QLatin1String("%I"), deviceudi);
|
||||
}
|
||||
return KShell::splitArgs(actioncommand);
|
||||
}
|
||||
|
||||
SolidRunner::SolidRunner(QObject *parent, const QVariantList &args)
|
||||
: AbstractRunner(parent, args),
|
||||
// TODO: option for it?
|
||||
|
|
|
@ -1,191 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include "ActionEditor.h"
|
||||
|
||||
#include <KMessageBox>
|
||||
#include <KLocale>
|
||||
|
||||
#include <Solid/Predicate>
|
||||
|
||||
ActionEditor::ActionEditor(QWidget *parent) : KDialog(parent)
|
||||
{
|
||||
topItem = new PredicateItem( Solid::Predicate(), 0 );
|
||||
rootItem = 0;
|
||||
rootModel = new PredicateModel( topItem, this );
|
||||
// Prepare the dialog
|
||||
setInitialSize( QSize(600, 600) ); // Set a decent initial size
|
||||
// setModal( true );
|
||||
// Set up the interface
|
||||
ui.setupUi( mainWidget() );
|
||||
ui.TvPredicateTree->setHeaderHidden( true );
|
||||
ui.TvPredicateTree->setModel( rootModel );
|
||||
ui.IbActionIcon->setIconSize( KIconLoader::SizeLarge );
|
||||
|
||||
ui.CbDeviceType->addItems( actionData()->interfaceList() );
|
||||
|
||||
// Connect up with everything needed -> slot names explain
|
||||
connect( ui.TvPredicateTree, SIGNAL(activated(QModelIndex)), this, SLOT(updateParameter()) );
|
||||
connect( ui.PbParameterSave, SIGNAL(clicked()), this, SLOT(saveParameter()) );
|
||||
connect( ui.PbParameterReset, SIGNAL(clicked()), this, SLOT(updateParameter()) );
|
||||
connect( ui.CbDeviceType, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePropertyList()) );
|
||||
connect( ui.CbParameterType, SIGNAL(currentIndexChanged(int)), this, SLOT(manageControlStatus()) );
|
||||
|
||||
if( !KGlobalSettings::singleClick() ) {
|
||||
connect( ui.TvPredicateTree, SIGNAL(clicked(QModelIndex)), this, SLOT(updateParameter()) );
|
||||
}
|
||||
}
|
||||
|
||||
ActionEditor::~ActionEditor()
|
||||
{
|
||||
delete topItem;
|
||||
}
|
||||
|
||||
void ActionEditor::setActionToEdit( ActionItem * item )
|
||||
{
|
||||
activeItem = item;
|
||||
|
||||
// Set all the text appropriately
|
||||
ui.IbActionIcon->setIcon( item->icon() );
|
||||
ui.LeActionFriendlyName->setText( item->name() );
|
||||
ui.LeActionCommand->setUrl( KUrl(item->exec()) );
|
||||
|
||||
setPredicate( item->predicate() );
|
||||
setCaption( i18n("Editing Action %1", item->name()) ); // Set a friendly i18n caption
|
||||
}
|
||||
|
||||
void ActionEditor::setPredicate( Solid::Predicate predicate )
|
||||
{
|
||||
delete topItem;
|
||||
topItem = new PredicateItem( Solid::Predicate(), 0 );
|
||||
rootItem = new PredicateItem( predicate, topItem );
|
||||
rootModel->setRootPredicate( rootItem->parent() );
|
||||
|
||||
// Select the top item, not the hidden root
|
||||
QModelIndex topItem = rootModel->index( 0, 0, QModelIndex() );
|
||||
ui.TvPredicateTree->setCurrentIndex( topItem );
|
||||
ui.TvPredicateTree->expandToDepth( 2 );
|
||||
updateParameter();
|
||||
}
|
||||
|
||||
void ActionEditor::updateParameter()
|
||||
{
|
||||
QModelIndex current = ui.TvPredicateTree->currentIndex();
|
||||
PredicateItem * currentItem = static_cast<PredicateItem*>( current.internalPointer() );
|
||||
|
||||
ui.CbParameterType->setCurrentIndex( currentItem->itemType );
|
||||
updatePropertyList();
|
||||
ui.CbDeviceType->setCurrentIndex( actionData()->interfacePosition( currentItem->ifaceType ) );
|
||||
int valuePos = actionData()->propertyPosition( currentItem->ifaceType, currentItem->property );
|
||||
ui.CbValueName->setCurrentIndex( valuePos );
|
||||
ui.LeValueMatch->setText( currentItem->value.toString() );
|
||||
ui.CbValueMatch->setCurrentIndex( currentItem->compOperator );
|
||||
}
|
||||
|
||||
void ActionEditor::saveParameter()
|
||||
{
|
||||
QModelIndex current = ui.TvPredicateTree->currentIndex();
|
||||
PredicateItem * currentItem = static_cast<PredicateItem*>( current.internalPointer() );
|
||||
|
||||
// Hold onto this so we can determine if the number of children has changed...
|
||||
Solid::Predicate::Type oldType = currentItem->itemType;
|
||||
|
||||
currentItem->setTypeByInt( ui.CbParameterType->currentIndex() );
|
||||
currentItem->ifaceType = actionData()->interfaceFromName( ui.CbDeviceType->currentText() );
|
||||
currentItem->property = actionData()->propertyInternal( currentItem->ifaceType, ui.CbValueName->currentText() );
|
||||
currentItem->value = QVariant( ui.LeValueMatch->text() );
|
||||
currentItem->setComparisonByInt( ui.CbValueMatch->currentIndex() );
|
||||
|
||||
rootModel->itemUpdated( current );
|
||||
rootModel->childrenChanging( current, oldType );
|
||||
}
|
||||
|
||||
QString ActionEditor::predicateString()
|
||||
{
|
||||
return rootItem->predicate().toString();
|
||||
}
|
||||
|
||||
void ActionEditor::updatePropertyList()
|
||||
{
|
||||
Solid::DeviceInterface::Type currentType;
|
||||
currentType = actionData()->interfaceFromName( ui.CbDeviceType->currentText() );
|
||||
|
||||
ui.CbValueName->clear();
|
||||
ui.CbValueName->addItems( actionData()->propertyList( currentType ) );
|
||||
}
|
||||
|
||||
void ActionEditor::manageControlStatus()
|
||||
{
|
||||
bool atomEnable = false;
|
||||
bool isEnable = false;
|
||||
|
||||
switch( ui.CbParameterType->currentIndex() ) {
|
||||
case Solid::Predicate::PropertyCheck:
|
||||
atomEnable = true;
|
||||
case Solid::Predicate::InterfaceCheck:
|
||||
isEnable = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
ui.CbDeviceType->setEnabled( isEnable );
|
||||
ui.CbValueName->setEnabled( atomEnable );
|
||||
ui.CbValueMatch->setEnabled( atomEnable );
|
||||
ui.LeValueMatch->setEnabled( atomEnable );
|
||||
}
|
||||
|
||||
SolidActionData * ActionEditor::actionData()
|
||||
{
|
||||
return SolidActionData::instance();
|
||||
}
|
||||
|
||||
void ActionEditor::accept()
|
||||
{
|
||||
// Save any open parameter changes first...
|
||||
saveParameter();
|
||||
|
||||
// Read the data and prepare to save
|
||||
QString iconName = ui.IbActionIcon->icon();
|
||||
QString actionName = ui.LeActionFriendlyName->text();
|
||||
QString command = ui.LeActionCommand->text();
|
||||
QString predicate = predicateString();
|
||||
|
||||
// We need to ensure that they are all valid before applying
|
||||
if (iconName.isEmpty() || actionName.isEmpty() || command.isEmpty() || !Solid::Predicate::fromString(predicate).isValid()) {
|
||||
KMessageBox::error(this, i18n("It appears that the action name, command, icon or condition are not valid.\nTherefore, changes will not be applied."), i18n("Invalid action"));
|
||||
return;
|
||||
}
|
||||
// apply the changes
|
||||
if (iconName != activeItem->icon()) { // Has the icon changed?
|
||||
activeItem->setIcon( ui.IbActionIcon->icon() ); // Write the change
|
||||
}
|
||||
if (actionName != activeItem->name()) { // Has the friendly name changed?
|
||||
activeItem->setName( ui.LeActionFriendlyName->text() ); // Write the change
|
||||
}
|
||||
if (command != activeItem->exec()) { // Has the command changed?
|
||||
activeItem->setExec( ui.LeActionCommand->text() ); // Write the change
|
||||
}
|
||||
if (predicate != activeItem->predicate().toString() ) { // Has it changed?
|
||||
activeItem->setPredicate( predicate ); // Write the change
|
||||
}
|
||||
|
||||
KDialog::accept();
|
||||
}
|
||||
|
||||
#include "moc_ActionEditor.cpp"
|
|
@ -1,62 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef ACTIONEDITOR_H
|
||||
#define ACTIONEDITOR_H
|
||||
|
||||
#include <KDialog>
|
||||
|
||||
#include "ActionItem.h"
|
||||
#include "PredicateItem.h"
|
||||
#include "PredicateModel.h"
|
||||
#include "SolidActionData.h"
|
||||
#include "ui_ActionEditor.h"
|
||||
|
||||
class ActionEditor : public KDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ActionEditor(QWidget *parent = 0);
|
||||
~ActionEditor();
|
||||
|
||||
void setActionToEdit( ActionItem * item );
|
||||
|
||||
public slots:
|
||||
virtual void accept();
|
||||
|
||||
private:
|
||||
SolidActionData * actionData();
|
||||
QString predicateString();
|
||||
|
||||
Ui::ActionEditor ui;
|
||||
ActionItem * activeItem;
|
||||
PredicateItem * topItem;
|
||||
PredicateItem * rootItem;
|
||||
PredicateModel * rootModel;
|
||||
|
||||
private slots:
|
||||
void updatePropertyList();
|
||||
void manageControlStatus();
|
||||
void updateParameter();
|
||||
void saveParameter();
|
||||
void setPredicate( Solid::Predicate predicate );
|
||||
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,334 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ActionEditor</class>
|
||||
<widget class="QWidget" name="ActionEditor">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>602</width>
|
||||
<height>522</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="GlActionIconName">
|
||||
<item row="0" column="0">
|
||||
<widget class="KIconButton" name="IbActionIcon">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>80</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>75</width>
|
||||
<height>75</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Action icon, click to change it</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KLineEdit" name="LeActionFriendlyName">
|
||||
<property name="toolTip">
|
||||
<string>Action name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="GlActionCommand">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="TlActionCommand">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Command: </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KUrlRequester" name="LeActionCommand">
|
||||
<property name="toolTip">
|
||||
<string>Command that will trigger the action
|
||||
This can include any or all of the following case insensitive expands:
|
||||
|
||||
%f: The mountpoint for the device - Storage Access devices only
|
||||
%d: Path to the device node - Block devices only
|
||||
%i: The identifier of the device</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<layout class="QGridLayout" name="GlPredicateTree">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="TlPredicateTree">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Devices must match the following parameters for this action:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QTreeView" name="TvPredicateTree"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QGroupBox" name="GbParameter">
|
||||
<property name="title">
|
||||
<string>Edit Parameter</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="GlParameterType">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="LblParameterType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Parameter type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KComboBox" name="CbParameterType">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Property Match</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Content Conjunction</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Content Disjunction</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Device Interface Match</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="GlDeviceType">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="LblDeviceType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Device type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KComboBox" name="CbDeviceType">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<layout class="QGridLayout" name="GlValueName">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="LblValueName">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Value name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KComboBox" name="CbValueName">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<layout class="QGridLayout" name="GlValueMatch">
|
||||
<item row="0" column="0">
|
||||
<widget class="KComboBox" name="CbValueMatch">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Equals</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Contains</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KLineEdit" name="LeValueMatch"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<layout class="QGridLayout" name="GlParameterControl">
|
||||
<item row="0" column="0">
|
||||
<spacer name="HsParameterControl">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>227</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QPushButton" name="PbParameterReset">
|
||||
<property name="text">
|
||||
<string>Reset Parameter</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="PbParameterSave">
|
||||
<property name="text">
|
||||
<string>Save Parameter Changes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KIconButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kicondialog.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KUrlRequester</class>
|
||||
<extends>QFrame</extends>
|
||||
<header>kurlrequester.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>klineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>kcombobox.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,158 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include "ActionItem.h"
|
||||
#include "SolidActionData.h"
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include <kdesktopfileactions.h>
|
||||
#include <KDesktopFile>
|
||||
#include <KConfigGroup>
|
||||
|
||||
#include <Solid/DeviceInterface>
|
||||
|
||||
ActionItem::ActionItem(const QString& pathToDesktop, const QString& action, QObject *parent)
|
||||
{
|
||||
Q_UNUSED(parent);
|
||||
|
||||
desktopMasterPath = pathToDesktop;
|
||||
actionName = action;
|
||||
// Create the desktop file
|
||||
desktopFileMaster = new KDesktopFile(desktopMasterPath);
|
||||
desktopWritePath = desktopFileMaster->locateLocal(desktopMasterPath);
|
||||
desktopFileWrite = new KDesktopFile(desktopWritePath);
|
||||
// Now we can fill the action groups list
|
||||
configGroups.append(desktopFileMaster->desktopGroup());
|
||||
actionGroups.insertMulti(ActionItem::GroupDesktop, &configGroups.last());
|
||||
configGroups.append(desktopFileMaster->actionGroup(actionName));
|
||||
actionGroups.insertMulti(ActionItem::GroupAction, &configGroups.last());
|
||||
configGroups.append(desktopFileWrite->desktopGroup());
|
||||
actionGroups.insertMulti(ActionItem::GroupDesktop, &configGroups.last());
|
||||
configGroups.append(desktopFileWrite->actionGroup(actionName));
|
||||
actionGroups.insertMulti(ActionItem::GroupAction, &configGroups.last());
|
||||
|
||||
QString predicateString = readKey(ActionItem::GroupDesktop, "X-KDE-Solid-Predicate", "");
|
||||
predicateItem = Solid::Predicate::fromString( predicateString );
|
||||
}
|
||||
|
||||
ActionItem::~ActionItem()
|
||||
{
|
||||
delete desktopFileWrite;
|
||||
delete desktopFileMaster;
|
||||
}
|
||||
|
||||
/// Public functions below
|
||||
|
||||
bool ActionItem::isUserSupplied()
|
||||
{
|
||||
return hasKey(ActionItem::GroupDesktop, "X-KDE-Action-Custom");
|
||||
}
|
||||
|
||||
QString ActionItem::icon()
|
||||
{
|
||||
return readKey(ActionItem::GroupAction, "Icon", "");
|
||||
}
|
||||
|
||||
QString ActionItem::exec()
|
||||
{
|
||||
return readKey(ActionItem::GroupAction, "Exec", "");
|
||||
}
|
||||
|
||||
QString ActionItem::name()
|
||||
{
|
||||
return readKey(ActionItem::GroupAction, "Name", "");
|
||||
}
|
||||
|
||||
Solid::Predicate ActionItem::predicate() const
|
||||
{
|
||||
return predicateItem;
|
||||
}
|
||||
|
||||
QString ActionItem::involvedTypes() const
|
||||
{
|
||||
SolidActionData * actData = SolidActionData::instance();
|
||||
QSet<Solid::DeviceInterface::Type> devTypeList = predicateItem.usedTypes();
|
||||
QStringList deviceTypes;
|
||||
foreach( Solid::DeviceInterface::Type devType, devTypeList ) {
|
||||
deviceTypes << actData->nameFromInterface( devType );
|
||||
}
|
||||
|
||||
return deviceTypes.join(", ");
|
||||
}
|
||||
|
||||
void ActionItem::setIcon(const QString& nameOfIcon)
|
||||
{
|
||||
setKey(ActionItem::GroupAction, "Icon", nameOfIcon);
|
||||
}
|
||||
|
||||
void ActionItem::setName(const QString& nameOfAction)
|
||||
{
|
||||
setKey(ActionItem::GroupAction, "Name", nameOfAction);
|
||||
}
|
||||
|
||||
void ActionItem::setExec(const QString& execUrl)
|
||||
{
|
||||
setKey(ActionItem::GroupAction, "Exec", execUrl);
|
||||
}
|
||||
|
||||
void ActionItem::setPredicate( const QString& newPredicate )
|
||||
{
|
||||
setKey(ActionItem::GroupDesktop, "X-KDE-Solid-Predicate", newPredicate);
|
||||
predicateItem = Solid::Predicate::fromString( newPredicate );
|
||||
}
|
||||
|
||||
/// Private functions below
|
||||
|
||||
QString ActionItem::readKey(GroupType keyGroup, const QString& keyName, const QString& defaultValue)
|
||||
{
|
||||
return configItem(ActionItem::DesktopRead, keyGroup, keyName)->readEntry(keyName, defaultValue);
|
||||
}
|
||||
|
||||
void ActionItem::setKey(GroupType keyGroup, const QString& keyName, const QString& keyContents)
|
||||
{
|
||||
configItem(ActionItem::DesktopWrite, keyGroup)->writeEntry(keyName, keyContents);
|
||||
}
|
||||
|
||||
bool ActionItem::hasKey(GroupType keyGroup, const QString& keyName)
|
||||
{
|
||||
return configItem(ActionItem::DesktopRead, keyGroup, keyName)->hasKey(keyName);
|
||||
}
|
||||
|
||||
KConfigGroup * ActionItem::configItem(DesktopAction actionType, GroupType keyGroup, const QString& keyName)
|
||||
{
|
||||
int countAccess = 0;
|
||||
|
||||
if (actionType == ActionItem::DesktopRead) {
|
||||
foreach(KConfigGroup * possibleGroup, actionGroups.values(keyGroup)) {
|
||||
if (possibleGroup->hasKey(keyName)) {
|
||||
return possibleGroup;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (actionType == ActionItem::DesktopWrite) {
|
||||
if (isUserSupplied()) {
|
||||
countAccess = 1;
|
||||
}
|
||||
return actionGroups.values(keyGroup)[countAccess];
|
||||
}
|
||||
return actionGroups.values(keyGroup)[0]; // Implement a backstop so a valid value is always returned
|
||||
}
|
||||
|
||||
#include "moc_ActionItem.cpp"
|
|
@ -1,76 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef ACTION_ITEM_H
|
||||
#define ACTION_ITEM_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMap>
|
||||
|
||||
#include <Solid/Predicate>
|
||||
|
||||
#include <QString>
|
||||
|
||||
class KDesktopFile;
|
||||
class KConfigGroup;
|
||||
|
||||
class ActionItem: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ActionItem(const QString& pathToDesktop, const QString& action, QObject *parent = 0);
|
||||
~ActionItem();
|
||||
|
||||
bool isUserSupplied();
|
||||
|
||||
QString icon();
|
||||
QString exec();
|
||||
QString name();
|
||||
Solid::Predicate predicate() const;
|
||||
QString involvedTypes() const;
|
||||
void setIcon( const QString& nameOfIcon );
|
||||
void setName( const QString& nameOfAction );
|
||||
void setExec( const QString& execUrl );
|
||||
void setPredicate( const QString& newPredicate );
|
||||
|
||||
QString desktopMasterPath;
|
||||
QString desktopWritePath;
|
||||
QString actionName;
|
||||
|
||||
private:
|
||||
enum DesktopAction { DesktopRead = 0, DesktopWrite = 1 };
|
||||
enum GroupType { GroupDesktop = 0, GroupAction = 1 };
|
||||
|
||||
QString readKey(GroupType keyGroup, const QString& keyName, const QString& defaultValue);
|
||||
void setKey(GroupType keyGroup, const QString& keyName, const QString& keyContents);
|
||||
bool hasKey(GroupType keyGroup, const QString& keyName);
|
||||
KConfigGroup * configItem(DesktopAction actionType, GroupType keyGroup, const QString& keyName = QString());
|
||||
|
||||
KDesktopFile * desktopFileMaster;
|
||||
KDesktopFile * desktopFileWrite;
|
||||
QMultiMap<GroupType, KConfigGroup*> actionGroups;
|
||||
QList<KConfigGroup> configGroups;
|
||||
Solid::Predicate predicateItem;
|
||||
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE( ActionItem * )
|
||||
|
||||
#endif
|
|
@ -1,121 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* Copyright (C) 2007 Will Stephenson <wstephenson@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License *
|
||||
* as published by the Free Software Foundation; either version 2 *
|
||||
* of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the Free Software *
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
|
||||
* 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include "ActionModel.h"
|
||||
#include "ActionItem.h"
|
||||
|
||||
#include <kdesktopfileactions.h>
|
||||
#include <KStandardDirs>
|
||||
#include <KIcon>
|
||||
|
||||
class ActionModel::Private {
|
||||
public:
|
||||
Private() {}
|
||||
|
||||
QList<ActionItem*> actions;
|
||||
};
|
||||
|
||||
static bool sortAction( ActionItem * left, ActionItem * right )
|
||||
{
|
||||
return left->name() > right->name();
|
||||
}
|
||||
|
||||
ActionModel::ActionModel( QObject *parent )
|
||||
: QAbstractTableModel( parent )
|
||||
, d( new Private() )
|
||||
{
|
||||
}
|
||||
|
||||
ActionModel::~ActionModel()
|
||||
{
|
||||
qDeleteAll( d->actions );
|
||||
d->actions.clear();
|
||||
delete d;
|
||||
}
|
||||
|
||||
int ActionModel::columnCount( const QModelIndex &parent ) const
|
||||
{
|
||||
Q_UNUSED( parent );
|
||||
return 2;
|
||||
}
|
||||
|
||||
int ActionModel::rowCount( const QModelIndex &parent ) const
|
||||
{
|
||||
if( !parent.isValid() ) {
|
||||
return d->actions.count();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
QVariant ActionModel::data( const QModelIndex &index, int role ) const
|
||||
{
|
||||
QVariant theData;
|
||||
if ( !index.isValid() ) {
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
ActionItem * mi = d->actions.at( index.row() );
|
||||
switch ( role ) {
|
||||
case Qt::DisplayRole:
|
||||
if( index.column() == 0 ) {
|
||||
theData.setValue( mi->name() );
|
||||
} else if( index.column() == 1 ) {
|
||||
theData.setValue( mi->involvedTypes() );
|
||||
}
|
||||
break;
|
||||
case Qt::DecorationRole:
|
||||
if( index.column() == 0 ) {
|
||||
theData = QVariant( KIcon(mi->icon()) );
|
||||
}
|
||||
break;
|
||||
case Qt::UserRole:
|
||||
theData.setValue( mi );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return theData;
|
||||
}
|
||||
|
||||
void ActionModel::buildActionList()
|
||||
{
|
||||
qDeleteAll( d->actions );
|
||||
d->actions.clear();
|
||||
// Prepare to search for possible actions -> we only want solid types
|
||||
QStringList allPossibleActions = KGlobal::dirs()->findAllResources("data", "solid/actions/");
|
||||
// Get service objects for those actions and add them to the display
|
||||
foreach(const QString &desktop, allPossibleActions) {
|
||||
// Get contained services list
|
||||
QList<KServiceAction> services = KDesktopFileActions::userDefinedServices(desktop, true);
|
||||
foreach( const KServiceAction &deviceAction, services ) {
|
||||
ActionItem * actionItem = new ActionItem( desktop, deviceAction.name(), this ); // Create an action
|
||||
d->actions.append( actionItem );
|
||||
}
|
||||
}
|
||||
qSort( d->actions.begin(), d->actions.end(), sortAction );
|
||||
reset();
|
||||
}
|
||||
|
||||
QList<ActionItem*> ActionModel::actionList() const
|
||||
{
|
||||
return d->actions;
|
||||
}
|
||||
|
||||
#include "moc_ActionModel.cpp"
|
|
@ -1,48 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License *
|
||||
* as published by the Free Software Foundation; either version 2 *
|
||||
* of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the Free Software *
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
|
||||
* 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef ACTIONMODEL_H
|
||||
#define ACTIONMODEL_H
|
||||
|
||||
#include <QtCore/qabstractitemmodel.h>
|
||||
|
||||
class ActionItem;
|
||||
|
||||
class ActionModel : public QAbstractTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ActionModel( QObject *parent = 0 );
|
||||
~ActionModel();
|
||||
|
||||
QVariant data( const QModelIndex &index, int role ) const;
|
||||
int rowCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
int columnCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
|
||||
void buildActionList();
|
||||
QList<ActionItem*> actionList() const;
|
||||
|
||||
private:
|
||||
|
||||
class Private;
|
||||
Private * const d;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>AddAction</class>
|
||||
<widget class="QWidget" name="AddAction">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>289</width>
|
||||
<height>40</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="GlActionAdd">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="LblActionName">
|
||||
<property name="text">
|
||||
<string>Action name:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KLineEdit" name="LeActionName">
|
||||
<property name="toolTip">
|
||||
<string>Enter the name for your new action</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>klineedit.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,51 +0,0 @@
|
|||
PROJECT (solid-actions)
|
||||
|
||||
ADD_SUBDIRECTORY(device-actions)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(kcm_solid_actions_srcs
|
||||
PredicateItem.cpp
|
||||
PredicateModel.cpp
|
||||
ActionItem.cpp
|
||||
ActionModel.cpp
|
||||
ActionEditor.cpp
|
||||
SolidActionData.cpp
|
||||
SolidActions.cpp
|
||||
SolidActions.ui
|
||||
AddAction.ui
|
||||
ActionEditor.ui
|
||||
)
|
||||
|
||||
SET(solid_action_desktop_gen_srcs
|
||||
DesktopFileGenerator.cpp
|
||||
SolidActionData.cpp )
|
||||
|
||||
KDE4_ADD_PLUGIN(kcm_solid_actions ${kcm_solid_actions_srcs})
|
||||
add_executable(solid-action-desktop-gen ${solid_action_desktop_gen_srcs})
|
||||
|
||||
TARGET_LINK_LIBRARIES(kcm_solid_actions KDE4::kio KDE4::solid )
|
||||
TARGET_LINK_LIBRARIES(solid-action-desktop-gen KDE4::solid KDE4::kio )
|
||||
|
||||
########### install files ###############
|
||||
|
||||
INSTALL(
|
||||
TARGETS kcm_solid_actions
|
||||
DESTINATION ${KDE4_PLUGIN_INSTALL_DIR}
|
||||
)
|
||||
INSTALL(
|
||||
TARGETS solid-action-desktop-gen
|
||||
DESTINATION ${KDE4_BIN_INSTALL_DIR}
|
||||
)
|
||||
INSTALL(
|
||||
FILES solid-actions.desktop
|
||||
DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
|
||||
INSTALL(
|
||||
FILES solid-action-template.desktop
|
||||
DESTINATION ${KDE4_DATA_INSTALL_DIR}/kcmsolidactions
|
||||
)
|
||||
INSTALL(
|
||||
FILES solid-device-type.desktop
|
||||
DESTINATION ${KDE4_SERVICETYPES_INSTALL_DIR}
|
||||
)
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include <KAboutData>
|
||||
#include <KCmdLineArgs>
|
||||
#include <KLocale>
|
||||
#include <KApplication>
|
||||
#include <KDesktopFile>
|
||||
#include <KDebug>
|
||||
#include <KConfigGroup>
|
||||
#include <QCoreApplication>
|
||||
|
||||
#include "SolidActionData.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int main( int argc, char *argv[] )
|
||||
{
|
||||
// About data
|
||||
KAboutData aboutData("solid-action-desktop-gen", 0, ki18n("Solid Action Desktop File Generator"), "0.4", ki18n("Tool to automatically generate Desktop Files from Solid DeviceInterface classes for translation"),
|
||||
KAboutData::License_GPL, ki18n("(c) 2009, Ben Cooksley"));
|
||||
aboutData.addAuthor(ki18n("Ben Cooksley"), ki18n("Maintainer"), "ben@eclipse.endoftheinternet.org");
|
||||
KCmdLineArgs::init(argc, argv, &aboutData);
|
||||
|
||||
KGlobal::locale()->insertCatalog("solid-action-desktop-gen");
|
||||
|
||||
QCoreApplication application(argc, argv);
|
||||
SolidActionData * availActions = SolidActionData::instance();
|
||||
foreach( Solid::DeviceInterface::Type internalType, availActions->interfaceTypeList() ) {
|
||||
QString typeName = Solid::DeviceInterface::typeToString( internalType );
|
||||
KDesktopFile typeFile( "services", "solid-device-" + typeName + ".desktop" );
|
||||
KConfigGroup tConfig = typeFile.desktopGroup();
|
||||
|
||||
tConfig.writeEntry( "Name", "Solid Device" );
|
||||
tConfig.writeEntry( "X-KDE-ServiceTypes", "SolidDevice" );
|
||||
tConfig.writeEntry( "Type", "Service" );
|
||||
|
||||
if( !tConfig.hasKey("X-KDE-Solid-Actions-Type") ) {
|
||||
tConfig.writeEntry( "X-KDE-Solid-Actions-Type", typeName );
|
||||
}
|
||||
|
||||
QStringList typeValues = availActions->propertyInternalList( internalType );
|
||||
QString actionText = typeValues.join(";").append(";");
|
||||
tConfig.writeEntry( "Actions", actionText );
|
||||
|
||||
kWarning() << "Desktop file created: " + typeFile.fileName();
|
||||
foreach( const QString &tValue, typeValues ) {
|
||||
KConfigGroup vConfig = typeFile.actionGroup( tValue );
|
||||
if( !vConfig.hasKey("Name") ) {
|
||||
vConfig.writeEntry( "Name", availActions->propertyName( internalType, tValue ) );
|
||||
}
|
||||
vConfig.sync();
|
||||
}
|
||||
tConfig.sync();
|
||||
typeFile.sync();
|
||||
}
|
||||
|
||||
kWarning() << "Generation now completed";
|
||||
return 0;
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
$EXTRACTRC *.ui >> rc.cpp
|
||||
$XGETTEXT *.cpp -o $podir/kcm_solid_actions.pot
|
||||
rm -f rc.cpp
|
|
@ -1,208 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include "PredicateItem.h"
|
||||
|
||||
#include "ActionEditor.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QString>
|
||||
|
||||
#include <KLocale>
|
||||
#include <Solid/Predicate>
|
||||
|
||||
class PredicateItem::Private {
|
||||
|
||||
public:
|
||||
Private() {}
|
||||
|
||||
PredicateItem * parent;
|
||||
QList<PredicateItem*> children;
|
||||
|
||||
};
|
||||
|
||||
PredicateItem::PredicateItem( Solid::Predicate item, PredicateItem * itsParent )
|
||||
: d( new Private() )
|
||||
{
|
||||
d->parent = itsParent;
|
||||
|
||||
if ( d->parent ) {
|
||||
d->parent->children().append( this );
|
||||
}
|
||||
|
||||
// Read data from Solid::Predicate
|
||||
itemType = item.type();
|
||||
ifaceType = item.interfaceType();
|
||||
property = item.propertyName();
|
||||
value = item.matchingValue();
|
||||
compOperator = item.comparisonOperator();
|
||||
|
||||
if( itemType == Solid::Predicate::Disjunction || itemType == Solid::Predicate::Conjunction ) {
|
||||
PredicateItem * child = new PredicateItem( item.firstOperand(), this );
|
||||
PredicateItem * child2 = new PredicateItem( item.secondOperand(), this );
|
||||
Q_UNUSED( child )
|
||||
Q_UNUSED( child2 )
|
||||
}
|
||||
// We're now ready, no need to keep the Solid::Predicate for now
|
||||
}
|
||||
|
||||
PredicateItem::~PredicateItem()
|
||||
{
|
||||
qDeleteAll( d->children );
|
||||
d->children.clear();
|
||||
delete d;
|
||||
}
|
||||
|
||||
PredicateItem * PredicateItem::child( int index ) const
|
||||
{
|
||||
return d->children.at(index);
|
||||
}
|
||||
|
||||
PredicateItem * PredicateItem::parent() const
|
||||
{
|
||||
return d->parent;
|
||||
}
|
||||
|
||||
QList<PredicateItem*>& PredicateItem::children() const
|
||||
{
|
||||
return d->children;
|
||||
}
|
||||
|
||||
Solid::Predicate PredicateItem::predicate() const
|
||||
{
|
||||
Solid::Predicate item;
|
||||
|
||||
switch( itemType ) {
|
||||
case Solid::Predicate::InterfaceCheck:
|
||||
item = Solid::Predicate( ifaceType );
|
||||
break;
|
||||
case Solid::Predicate::Conjunction:
|
||||
item = children().at(0)->predicate() & children().at(1)->predicate();
|
||||
break;
|
||||
case Solid::Predicate::Disjunction:
|
||||
item = children().at(0)->predicate() | children().at(1)->predicate();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if( itemType != Solid::Predicate::PropertyCheck ) {
|
||||
return item;
|
||||
}
|
||||
|
||||
switch( compOperator ) {
|
||||
case Solid::Predicate::Equals:
|
||||
item = Solid::Predicate( ifaceType, property, value );
|
||||
break;
|
||||
case Solid::Predicate::Mask:
|
||||
item = Solid::Predicate( ifaceType, property, value, Solid::Predicate::Mask );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
QString PredicateItem::prettyName() const
|
||||
{
|
||||
QString typeName;
|
||||
QString compName;
|
||||
|
||||
QString deviceName;
|
||||
switch( itemType ) {
|
||||
case Solid::Predicate::InterfaceCheck:
|
||||
deviceName = SolidActionData::instance()->nameFromInterface(ifaceType);
|
||||
typeName = i18n("The device must be of the type %1", deviceName);
|
||||
break;
|
||||
case Solid::Predicate::Disjunction:
|
||||
typeName = i18n("Any of the contained properties must match");
|
||||
break;
|
||||
case Solid::Predicate::Conjunction:
|
||||
typeName = i18n("All of the contained properties must match");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
QString prettyProperty = SolidActionData::instance()->propertyName( ifaceType, property );
|
||||
switch( compOperator ) {
|
||||
case Solid::Predicate::Equals:
|
||||
compName = i18n("The device property %1 must equal %2", prettyProperty, value.toString());
|
||||
break;
|
||||
case Solid::Predicate::Mask:
|
||||
compName = i18n("The device property %1 must contain %2", prettyProperty, value.toString());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if( itemType == Solid::Predicate::PropertyCheck ) {
|
||||
return compName;
|
||||
}
|
||||
return typeName;
|
||||
}
|
||||
|
||||
void PredicateItem::setTypeByInt( int item )
|
||||
{
|
||||
Solid::Predicate::Type iType = Solid::Predicate::InterfaceCheck;
|
||||
switch( item ) {
|
||||
case Solid::Predicate::PropertyCheck:
|
||||
iType = Solid::Predicate::PropertyCheck;
|
||||
break;
|
||||
case Solid::Predicate::Conjunction:
|
||||
iType = Solid::Predicate::Conjunction;
|
||||
break;
|
||||
case Solid::Predicate::Disjunction:
|
||||
iType = Solid::Predicate::Disjunction;
|
||||
break;
|
||||
case Solid::Predicate::InterfaceCheck:
|
||||
iType = Solid::Predicate::InterfaceCheck;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
itemType = iType;
|
||||
}
|
||||
|
||||
void PredicateItem::setComparisonByInt( int item )
|
||||
{
|
||||
switch( item ) {
|
||||
case Solid::Predicate::Equals:
|
||||
compOperator = Solid::Predicate::Equals;
|
||||
break;
|
||||
case Solid::Predicate::Mask:
|
||||
compOperator = Solid::Predicate::Mask;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void PredicateItem::updateChildrenStatus()
|
||||
{
|
||||
if( itemType != Solid::Predicate::Disjunction && itemType != Solid::Predicate::Conjunction ) {
|
||||
qDeleteAll( d->children );
|
||||
d->children.clear();
|
||||
} else if( d->children.count() == 0 ) {
|
||||
Solid::Predicate templItem = Solid::Predicate::fromString("IS StorageVolume");
|
||||
new PredicateItem( templItem, this );
|
||||
new PredicateItem( templItem, this );
|
||||
}
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef PREDICATEITEM_H
|
||||
#define PREDICATEITEM_H
|
||||
|
||||
#include <Solid/Predicate>
|
||||
|
||||
#include <QString>
|
||||
#include <QList>
|
||||
|
||||
class PredicateItem
|
||||
{
|
||||
public:
|
||||
PredicateItem( Solid::Predicate item, PredicateItem * itsParent );
|
||||
~PredicateItem();
|
||||
|
||||
PredicateItem * child( int index ) const;
|
||||
PredicateItem * parent() const;
|
||||
QList<PredicateItem*>& children() const;
|
||||
Solid::Predicate predicate() const;
|
||||
QString prettyName() const;
|
||||
void setTypeByInt( int item );
|
||||
void setComparisonByInt( int item );
|
||||
void updateChildrenStatus();
|
||||
|
||||
Solid::Predicate::Type itemType;
|
||||
Solid::DeviceInterface::Type ifaceType;
|
||||
QString property;
|
||||
QVariant value;
|
||||
Solid::Predicate::ComparisonOperator compOperator;
|
||||
|
||||
private:
|
||||
class Private;
|
||||
Private *const d;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE( PredicateItem * )
|
||||
|
||||
#endif
|
|
@ -1,176 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* Copyright (C) 2007 Will Stephenson <wstephenson@kde.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License *
|
||||
* as published by the Free Software Foundation; either version 2 *
|
||||
* of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the Free Software *
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
|
||||
* 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include "PredicateModel.h"
|
||||
|
||||
#include "PredicateItem.h"
|
||||
|
||||
class PredicateModel::Private {
|
||||
public:
|
||||
Private() {}
|
||||
|
||||
PredicateItem * rootItem;
|
||||
};
|
||||
|
||||
PredicateModel::PredicateModel( PredicateItem * menuRoot, QObject *parent )
|
||||
: QAbstractItemModel( parent )
|
||||
, d( new Private() )
|
||||
{
|
||||
d->rootItem = menuRoot;
|
||||
}
|
||||
|
||||
PredicateModel::~PredicateModel()
|
||||
{
|
||||
delete d;
|
||||
}
|
||||
|
||||
int PredicateModel::columnCount( const QModelIndex &parent ) const
|
||||
{
|
||||
Q_UNUSED( parent );
|
||||
return 1;
|
||||
}
|
||||
|
||||
int PredicateModel::rowCount( const QModelIndex &parent ) const
|
||||
{
|
||||
PredicateItem * mi;
|
||||
if ( parent.isValid() ) {
|
||||
mi = static_cast<PredicateItem*>( parent.internalPointer() );
|
||||
} else {
|
||||
mi = d->rootItem;
|
||||
}
|
||||
|
||||
return mi->children().count();
|
||||
}
|
||||
|
||||
QVariant PredicateModel::data( const QModelIndex &index, int role ) const
|
||||
{
|
||||
PredicateItem * mi = 0;
|
||||
QVariant theData;
|
||||
if ( !index.isValid() ) {
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
mi = static_cast<PredicateItem*>( index.internalPointer() );
|
||||
switch ( role ) {
|
||||
case Qt::DisplayRole:
|
||||
theData.setValue( mi->prettyName() );
|
||||
break;
|
||||
case Qt::UserRole:
|
||||
theData.setValue( mi );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return theData;
|
||||
}
|
||||
|
||||
Qt::ItemFlags PredicateModel::flags( const QModelIndex &index ) const
|
||||
{
|
||||
if ( !index.isValid() ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||
}
|
||||
|
||||
QModelIndex PredicateModel::index( int row, int column, const QModelIndex &parent ) const
|
||||
{
|
||||
if ( !hasIndex(row, column, parent) ) {
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
PredicateItem *parentItem;
|
||||
if ( !parent.isValid() ) {
|
||||
parentItem = d->rootItem;
|
||||
} else {
|
||||
parentItem = static_cast<PredicateItem*>( parent.internalPointer() );
|
||||
}
|
||||
|
||||
PredicateItem *childItem = parentItem->children().value(row);
|
||||
if ( childItem ) {
|
||||
return createIndex( row, column, childItem );
|
||||
} else {
|
||||
return QModelIndex();
|
||||
}
|
||||
}
|
||||
|
||||
QModelIndex PredicateModel::parent( const QModelIndex &index ) const
|
||||
{
|
||||
PredicateItem *childItem = static_cast<PredicateItem*>( index.internalPointer() );
|
||||
if( !childItem ) {
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
PredicateItem * parent = childItem->parent();
|
||||
PredicateItem * grandParent = parent->parent();
|
||||
|
||||
int childRow = 0;
|
||||
if( grandParent ) {
|
||||
childRow = grandParent->children().indexOf( parent );
|
||||
}
|
||||
|
||||
if ( parent == d->rootItem ) {
|
||||
return QModelIndex();
|
||||
}
|
||||
return createIndex( childRow, 0, parent );
|
||||
}
|
||||
|
||||
PredicateItem * PredicateModel::rootItem() const
|
||||
{
|
||||
return d->rootItem;
|
||||
}
|
||||
|
||||
void PredicateModel::setRootPredicate( PredicateItem * item )
|
||||
{
|
||||
d->rootItem = item;
|
||||
reset();
|
||||
}
|
||||
|
||||
void PredicateModel::itemUpdated( const QModelIndex& item )
|
||||
{
|
||||
emit dataChanged( item, item );
|
||||
}
|
||||
|
||||
void PredicateModel::childrenChanging( const QModelIndex& item, Solid::Predicate::Type oldType )
|
||||
{
|
||||
PredicateItem * currentItem = static_cast<PredicateItem*>( item.internalPointer() );
|
||||
Solid::Predicate::Type newType = currentItem->itemType;
|
||||
|
||||
if( oldType == newType ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if( rowCount(item) != 0 && newType != Solid::Predicate::Conjunction && newType != Solid::Predicate::Disjunction ) {
|
||||
emit beginRemoveRows( item, 0, 1 );
|
||||
currentItem->updateChildrenStatus();
|
||||
emit endRemoveRows();
|
||||
return;
|
||||
}
|
||||
|
||||
bool hasChildren = (newType == Solid::Predicate::Conjunction || newType == Solid::Predicate::Disjunction);
|
||||
|
||||
if( rowCount(item) == 0 && hasChildren ) {
|
||||
emit beginInsertRows( item, 0, 1 );
|
||||
currentItem->updateChildrenStatus();
|
||||
emit endInsertRows();
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_PredicateModel.cpp"
|
|
@ -1,56 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009 Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License *
|
||||
* as published by the Free Software Foundation; either version 2 *
|
||||
* of the License, or (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the Free Software *
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
|
||||
* 02110-1301, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef PREDICATEMODEL_H
|
||||
#define PREDICATEMODEL_H
|
||||
|
||||
#include <QtCore/QAbstractItemModel>
|
||||
|
||||
#include <Solid/Predicate>
|
||||
|
||||
class PredicateItem;
|
||||
|
||||
class PredicateModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PredicateModel( PredicateItem * menuRoot, QObject *parent = 0 );
|
||||
~PredicateModel();
|
||||
|
||||
QVariant data( const QModelIndex &index, int role ) const;
|
||||
Qt::ItemFlags flags( const QModelIndex &index ) const;
|
||||
QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
|
||||
QModelIndex parent( const QModelIndex &index ) const;
|
||||
int rowCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
int columnCount( const QModelIndex &parent = QModelIndex() ) const;
|
||||
|
||||
void setRootPredicate( PredicateItem * item );
|
||||
void itemUpdated( const QModelIndex& item );
|
||||
void childrenChanging( const QModelIndex& item, Solid::Predicate::Type oldType );
|
||||
|
||||
protected:
|
||||
PredicateItem * rootItem() const;
|
||||
|
||||
private:
|
||||
class Private;
|
||||
Private *const d;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,189 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include "SolidActionData.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QtCore/qmetaobject.h>
|
||||
|
||||
#include <KGlobal>
|
||||
#include <kdesktopfileactions.h>
|
||||
#include <KStandardDirs>
|
||||
#include <KStringHandler>
|
||||
#include <KDesktopFile>
|
||||
#include <KConfigGroup>
|
||||
|
||||
#include <Solid/AcAdapter>
|
||||
#include <Solid/AudioInterface>
|
||||
#include <Solid/Battery>
|
||||
#include <Solid/Block>
|
||||
#include <Solid/Button>
|
||||
#include <Solid/Camera>
|
||||
#include <Solid/NetworkInterface>
|
||||
#include <Solid/PortableMediaPlayer>
|
||||
#include <Solid/Processor>
|
||||
#include <Solid/StorageAccess>
|
||||
#include <Solid/StorageDrive>
|
||||
#include <Solid/OpticalDrive>
|
||||
#include <Solid/StorageVolume>
|
||||
#include <Solid/OpticalDisc>
|
||||
#include <Solid/Video>
|
||||
#include <Solid/Graphic>
|
||||
#include <Solid/Input>
|
||||
|
||||
static SolidActionData * actData = 0;
|
||||
|
||||
SolidActionData::SolidActionData(bool includeFiles)
|
||||
{
|
||||
QStringList allPossibleDevices;
|
||||
int propertyOffset = Solid::DeviceInterface::staticMetaObject.propertyOffset();
|
||||
|
||||
QList<QMetaObject> interfaceList = fillInterfaceList();
|
||||
foreach( const QMetaObject &interface, interfaceList ) {
|
||||
QString ifaceName = interface.className();
|
||||
ifaceName.remove(0, ifaceName.lastIndexOf(':') + 1);
|
||||
Solid::DeviceInterface::Type ifaceDev = Solid::DeviceInterface::stringToType( ifaceName );
|
||||
QString cleanName = Solid::DeviceInterface::typeDescription( ifaceDev );
|
||||
types.insert( ifaceDev, cleanName );
|
||||
|
||||
QMap<QString, QString> deviceValues;
|
||||
for( int doneProps = propertyOffset; interface.propertyCount() > doneProps; doneProps = doneProps + 1 ) {
|
||||
QMetaProperty ifaceProp = interface.property(doneProps);
|
||||
deviceValues.insert( ifaceProp.name(), generateUserString(ifaceProp.name()) );
|
||||
}
|
||||
values.insert( ifaceDev, deviceValues );
|
||||
}
|
||||
|
||||
if( includeFiles ) {
|
||||
// Fill the lists of possible device types / device values
|
||||
allPossibleDevices = KGlobal::dirs()->findAllResources("data", "solid/devices/");
|
||||
// List all the known device actions, then add their name and all values to the appropriate lists
|
||||
foreach( const QString &desktop, allPossibleDevices ) {
|
||||
KDesktopFile deviceFile(desktop);
|
||||
KConfigGroup deviceType = deviceFile.desktopGroup(); // Retrieve the configuration group where the user friendly name is
|
||||
|
||||
QString ifaceName = deviceType.readEntry("X-KDE-Solid-Actions-Type");
|
||||
Solid::DeviceInterface::Type ifaceDev = Solid::DeviceInterface::stringToType( ifaceName );
|
||||
QString cleanName = Solid::DeviceInterface::typeDescription( ifaceDev );
|
||||
|
||||
types.insert( ifaceDev, cleanName ); // Read the user friendly name
|
||||
|
||||
QMap<QString,QString> deviceValues = values.value( ifaceDev );
|
||||
foreach( const QString &text, deviceFile.readActions() ) { // We want every single action
|
||||
KConfigGroup actionType = deviceFile.actionGroup( text );
|
||||
deviceValues.insert( text, actionType.readEntry("Name") ); // Add to the type - actions map
|
||||
}
|
||||
values.insert( ifaceDev, deviceValues );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QList<QString> SolidActionData::propertyList( Solid::DeviceInterface::Type devInterface )
|
||||
{
|
||||
return values.value( devInterface ).values();
|
||||
}
|
||||
|
||||
QList<QString> SolidActionData::propertyInternalList( Solid::DeviceInterface::Type devInterface )
|
||||
{
|
||||
return values.value( devInterface ).keys();
|
||||
}
|
||||
|
||||
QString SolidActionData::propertyInternal( Solid::DeviceInterface::Type devInterface, QString property )
|
||||
{
|
||||
return values.value( devInterface ).key( property );
|
||||
}
|
||||
|
||||
QString SolidActionData::propertyName( Solid::DeviceInterface::Type devInterface, QString property )
|
||||
{
|
||||
return values.value( devInterface ).value( property );
|
||||
}
|
||||
|
||||
int SolidActionData::propertyPosition( Solid::DeviceInterface::Type devInterface, QString property )
|
||||
{
|
||||
return values.value( devInterface ).keys().indexOf( property );
|
||||
}
|
||||
|
||||
QList<QString> SolidActionData::interfaceList()
|
||||
{
|
||||
return types.values();
|
||||
}
|
||||
|
||||
QList<Solid::DeviceInterface::Type> SolidActionData::interfaceTypeList()
|
||||
{
|
||||
return types.keys();
|
||||
}
|
||||
|
||||
Solid::DeviceInterface::Type SolidActionData::interfaceFromName( const QString& name )
|
||||
{
|
||||
return types.key( name );
|
||||
}
|
||||
|
||||
QString SolidActionData::nameFromInterface( Solid::DeviceInterface::Type devInterface )
|
||||
{
|
||||
return types.value( devInterface );
|
||||
}
|
||||
|
||||
int SolidActionData::interfacePosition( Solid::DeviceInterface::Type devInterface )
|
||||
{
|
||||
return types.keys().indexOf( devInterface );
|
||||
}
|
||||
|
||||
QString SolidActionData::generateUserString( QString className )
|
||||
{
|
||||
QString finalString;
|
||||
QRegExp camelCase("([A-Z])"); // Create the split regexp
|
||||
|
||||
finalString = className.remove(0, className.lastIndexOf(':') + 1); // Remove any Class information
|
||||
finalString = finalString.replace( camelCase, " \\1" ); // Use Camel Casing to add spaces
|
||||
finalString = KStringHandler::capwords( finalString ); // Captialise everything
|
||||
return finalString.trimmed();
|
||||
}
|
||||
|
||||
SolidActionData * SolidActionData::instance()
|
||||
{
|
||||
if( actData == 0 ) {
|
||||
actData = new SolidActionData( true );
|
||||
}
|
||||
return actData;
|
||||
}
|
||||
|
||||
QList<QMetaObject> SolidActionData::fillInterfaceList()
|
||||
{
|
||||
QList<QMetaObject> interfaces;
|
||||
interfaces.append( Solid::AcAdapter::staticMetaObject );
|
||||
interfaces.append( Solid::AudioInterface::staticMetaObject );
|
||||
interfaces.append( Solid::Battery::staticMetaObject );
|
||||
interfaces.append( Solid::Block::staticMetaObject );
|
||||
interfaces.append( Solid::Button::staticMetaObject );
|
||||
interfaces.append( Solid::Camera::staticMetaObject );
|
||||
interfaces.append( Solid::NetworkInterface::staticMetaObject );
|
||||
interfaces.append( Solid::PortableMediaPlayer::staticMetaObject );
|
||||
interfaces.append( Solid::Processor::staticMetaObject );
|
||||
interfaces.append( Solid::StorageAccess::staticMetaObject );
|
||||
interfaces.append( Solid::StorageDrive::staticMetaObject );
|
||||
interfaces.append( Solid::OpticalDrive::staticMetaObject );
|
||||
interfaces.append( Solid::StorageVolume::staticMetaObject );
|
||||
interfaces.append( Solid::OpticalDisc::staticMetaObject );
|
||||
interfaces.append( Solid::Video::staticMetaObject );
|
||||
interfaces.append( Solid::Graphic::staticMetaObject );
|
||||
interfaces.append( Solid::Input::staticMetaObject );
|
||||
return interfaces;
|
||||
}
|
||||
|
||||
#include "moc_SolidActionData.cpp"
|
|
@ -1,57 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef SOLIDACTIONDATA_H
|
||||
#define SOLIDACTIONDATA_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QMap>
|
||||
#include <QString>
|
||||
|
||||
#include <Solid/DeviceInterface>
|
||||
|
||||
class SolidActionData : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QList<QString> propertyList( Solid::DeviceInterface::Type devInterface );
|
||||
QList<QString> propertyInternalList( Solid::DeviceInterface::Type devInterface );
|
||||
QString propertyInternal( Solid::DeviceInterface::Type devInterface, QString property );
|
||||
QString propertyName( Solid::DeviceInterface::Type devInterface, QString property );
|
||||
int propertyPosition( Solid::DeviceInterface::Type devInterface, QString property );
|
||||
|
||||
QList<QString> interfaceList();
|
||||
QList<Solid::DeviceInterface::Type> interfaceTypeList();
|
||||
Solid::DeviceInterface::Type interfaceFromName( const QString& name );
|
||||
QString nameFromInterface( Solid::DeviceInterface::Type devInterface );
|
||||
int interfacePosition( Solid::DeviceInterface::Type devInterface );
|
||||
|
||||
static SolidActionData * instance();
|
||||
|
||||
private:
|
||||
SolidActionData(bool includeFiles);
|
||||
QString generateUserString(QString className);
|
||||
QList<QMetaObject> fillInterfaceList();
|
||||
|
||||
QMap<Solid::DeviceInterface::Type, QMap<QString,QString> > values;
|
||||
QMap<Solid::DeviceInterface::Type, QString> types;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,231 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#include "SolidActions.h"
|
||||
#include "ActionItem.h"
|
||||
|
||||
#include <KUrl>
|
||||
#include <KDialog>
|
||||
#include <KAboutData>
|
||||
#include <KMessageBox>
|
||||
#include <KDesktopFile>
|
||||
#include <KIO/NetAccess>
|
||||
#include <KStandardDirs>
|
||||
#include <KPluginFactory>
|
||||
#include <KBuildSycocaProgressDialog>
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QPushButton>
|
||||
|
||||
#include <Solid/DeviceInterface>
|
||||
#include <Solid/Predicate>
|
||||
|
||||
K_PLUGIN_FACTORY( SolidActionsFactory, registerPlugin<SolidActions>(); )
|
||||
K_EXPORT_PLUGIN( SolidActionsFactory("kcmsolidactions", "kcm_solid_actions") )
|
||||
|
||||
SolidActions::SolidActions(QWidget* parent, const QVariantList&)
|
||||
: KCModule(SolidActionsFactory::componentData(), parent)
|
||||
{
|
||||
KAboutData * about = new KAboutData("Device Actions", 0, ki18n("Solid Device Actions Editor"), "1.1",
|
||||
ki18n("Solid Device Actions Control Panel Module"),
|
||||
KAboutData::License_GPL,
|
||||
ki18n("(c) 2009 Solid Device Actions team"));
|
||||
about->addAuthor(ki18n("Ben Cooksley"), ki18n("Maintainer"), "ben@eclipse.endoftheinternet.org");
|
||||
setAboutData(about);
|
||||
setButtons(KCModule::Help);
|
||||
|
||||
// Prepare main display dialog
|
||||
actionModel = new ActionModel( this );
|
||||
mainUi.setupUi( this );
|
||||
mainUi.TvActions->setModel( actionModel );
|
||||
mainUi.TvActions->setHeaderHidden( true );
|
||||
mainUi.TvActions->setRootIsDecorated( false );
|
||||
mainUi.TvActions->setSelectionMode( QAbstractItemView::SingleSelection );
|
||||
mainUi.PbAddAction->setGuiItem( KStandardGuiItem::add() );
|
||||
mainUi.PbEditAction->setIcon( KIcon("document-edit") );
|
||||
|
||||
connect( mainUi.PbAddAction, SIGNAL(clicked()), this, SLOT(slotShowAddDialog()) );
|
||||
connect( mainUi.PbEditAction, SIGNAL(clicked()), this, SLOT(editAction()) );
|
||||
connect( mainUi.PbDeleteAction, SIGNAL(clicked()), this, SLOT(deleteAction()) );
|
||||
connect( mainUi.TvActions->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(toggleEditDelete()) );
|
||||
connect( mainUi.TvActions, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(editAction()) );
|
||||
|
||||
// Prepare + connect up with Edit dialog
|
||||
editUi = new ActionEditor(this);
|
||||
connect( editUi, SIGNAL(accepted()), this, SLOT(acceptActionChanges()) );
|
||||
|
||||
// Prepare + connect up add action dialog
|
||||
addDialog = new KDialog(this);
|
||||
addUi.setupUi( addDialog->mainWidget() );
|
||||
addDialog->setInitialSize( QSize(300, 100) ); // Set a sensible default size
|
||||
|
||||
slotTextChanged( addUi.LeActionName->text() );
|
||||
connect( addUi.LeActionName, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
|
||||
connect( addDialog, SIGNAL(okClicked()), this, SLOT(addAction()) );
|
||||
}
|
||||
|
||||
SolidActions::~SolidActions()
|
||||
{
|
||||
delete editUi;
|
||||
delete actionModel;
|
||||
}
|
||||
|
||||
void SolidActions::slotShowAddDialog()
|
||||
{
|
||||
addDialog->show();
|
||||
addUi.LeActionName->setFocus();
|
||||
addUi.LeActionName->clear();
|
||||
}
|
||||
|
||||
void SolidActions::slotTextChanged( const QString & text )
|
||||
{
|
||||
addDialog->enableButtonOk( !text.isEmpty() );
|
||||
}
|
||||
|
||||
void SolidActions::load()
|
||||
{
|
||||
fillActionsList();
|
||||
}
|
||||
|
||||
void SolidActions::defaults()
|
||||
{
|
||||
}
|
||||
|
||||
void SolidActions::save()
|
||||
{
|
||||
}
|
||||
|
||||
void SolidActions::addAction()
|
||||
{
|
||||
QString enteredName = addUi.LeActionName->text();
|
||||
KDesktopFile templateDesktop(KStandardDirs::locate("data", "kcmsolidactions/solid-action-template.desktop")); // Lets get the template
|
||||
|
||||
// Lets get a desktop file
|
||||
QString internalName = enteredName; // copy the name the user entered -> we will be making mods
|
||||
internalName.replace(QChar(' '), QChar('-'), Qt::CaseSensitive); // replace spaces with dashes
|
||||
QString filePath = KStandardDirs::locateLocal("data", QString()); // Get the location on disk for "data"
|
||||
filePath = filePath + "solid/actions/" + internalName + ".desktop"; // Create a file path for new action
|
||||
|
||||
// Fill in an initial template
|
||||
KDesktopFile * newDesktop = templateDesktop.copyTo(filePath);
|
||||
newDesktop->actionGroup("open").writeEntry("Name", enteredName); // ditto
|
||||
delete newDesktop; // Force file to be written
|
||||
|
||||
// Prepare to open the editDialog
|
||||
fillActionsList();
|
||||
QList<ActionItem*> actionList = actionModel->actionList();
|
||||
QModelIndex newAction;
|
||||
foreach( ActionItem * newItem, actionList ) { // Lets find our new action
|
||||
if( newItem->desktopMasterPath == filePath ) {
|
||||
int position = actionList.indexOf( newItem );
|
||||
newAction = actionModel->index( position, 0, QModelIndex() ); // Grab it
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mainUi.TvActions->setCurrentIndex( newAction ); // Set it as currently active
|
||||
editAction(); // Open the edit dialog
|
||||
}
|
||||
|
||||
void SolidActions::editAction()
|
||||
{
|
||||
ActionItem * selectedItem = selectedAction();
|
||||
if( !selectedItem ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// We should error out here if we have to
|
||||
if( !selectedItem->predicate().isValid() ) {
|
||||
KMessageBox::error(this, i18n("It appears that the predicate for this action is not valid."), i18n("Error Parsing Device Conditions"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Display us!
|
||||
editUi->setActionToEdit( selectedItem );
|
||||
editUi->setWindowIcon( windowIcon() );
|
||||
editUi->show();
|
||||
}
|
||||
|
||||
void SolidActions::deleteAction()
|
||||
{
|
||||
ActionItem * action = selectedAction();
|
||||
if( action->isUserSupplied() ) { // Is the action user supplied?
|
||||
KIO::NetAccess::del( KUrl(action->desktopMasterPath), this); // Remove the main desktop file then
|
||||
}
|
||||
KIO::NetAccess::del( KUrl(action->desktopWritePath), this); // Remove the modified desktop file now
|
||||
fillActionsList(); // Update the list of actions
|
||||
}
|
||||
|
||||
ActionItem * SolidActions::selectedAction()
|
||||
{
|
||||
QModelIndex action = mainUi.TvActions->currentIndex();
|
||||
ActionItem * actionItem = actionModel->data( action, Qt::UserRole ).value<ActionItem*>();
|
||||
return actionItem;
|
||||
}
|
||||
|
||||
void SolidActions::fillActionsList()
|
||||
{
|
||||
mainUi.TvActions->selectionModel()->clearSelection();
|
||||
actionModel->buildActionList();
|
||||
mainUi.TvActions->header()->setResizeMode( 0, QHeaderView::Stretch );
|
||||
mainUi.TvActions->header()->setResizeMode( 1, QHeaderView::ResizeToContents );
|
||||
toggleEditDelete();
|
||||
}
|
||||
|
||||
void SolidActions::acceptActionChanges()
|
||||
{
|
||||
// Re-read the actions list to ensure changes are reflected
|
||||
KBuildSycocaProgressDialog::rebuildKSycoca(this);
|
||||
fillActionsList();
|
||||
}
|
||||
|
||||
void SolidActions::toggleEditDelete()
|
||||
{
|
||||
bool toggle = true;
|
||||
|
||||
if( !mainUi.TvActions->currentIndex().isValid() ) { // Is an action selected?
|
||||
mainUi.PbDeleteAction->setText( i18n("No Action Selected") ); // Set a friendly disabled text
|
||||
mainUi.PbDeleteAction->setIcon( KIcon() );
|
||||
toggle = false;
|
||||
}
|
||||
|
||||
mainUi.PbEditAction->setEnabled(toggle); // Change them to the new state
|
||||
mainUi.PbDeleteAction->setEnabled(toggle); // Ditto
|
||||
|
||||
if( !toggle ) {
|
||||
return;
|
||||
}
|
||||
|
||||
KUrl writeDesktopFile( selectedAction()->desktopWritePath ); // Get the write desktop file
|
||||
// What functionality do we need to change?
|
||||
if( selectedAction()->isUserSupplied() ) {
|
||||
// We are able to directly delete it, enable full delete functionality
|
||||
mainUi.PbDeleteAction->setGuiItem( KStandardGuiItem::remove() );
|
||||
} else if( KIO::NetAccess::exists(writeDesktopFile, KIO::NetAccess::SourceSide, this) ) { // Does the write file exist?
|
||||
// We are able to revert, lets show it
|
||||
mainUi.PbDeleteAction->setGuiItem( KStandardGuiItem::discard() );
|
||||
} else {
|
||||
// We cannot do anything then, disable delete functionality
|
||||
mainUi.PbDeleteAction->setText( i18n("Cannot be deleted") );
|
||||
mainUi.PbDeleteAction->setIcon( KIcon() );
|
||||
mainUi.PbDeleteAction->setEnabled( false );
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_SolidActions.cpp"
|
|
@ -1,65 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Ben Cooksley <ben@eclipse.endoftheinternet.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef SOLIDACTIONS_H
|
||||
#define SOLIDACTIONS_H
|
||||
|
||||
#include <KCModule>
|
||||
|
||||
#include "SolidActions.h"
|
||||
#include "ActionModel.h"
|
||||
#include "ActionEditor.h"
|
||||
#include "ui_AddAction.h"
|
||||
#include "ui_SolidActions.h"
|
||||
|
||||
class ActionItem;
|
||||
|
||||
class SolidActions: public KCModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SolidActions(QWidget* parent, const QVariantList&);
|
||||
~SolidActions();
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
|
||||
private slots:
|
||||
void addAction();
|
||||
void editAction();
|
||||
void deleteAction();
|
||||
ActionItem * selectedAction();
|
||||
void fillActionsList();
|
||||
void acceptActionChanges();
|
||||
void toggleEditDelete();
|
||||
void slotTextChanged( const QString& );
|
||||
void slotShowAddDialog();
|
||||
|
||||
private:
|
||||
Ui::SolidActions mainUi;
|
||||
ActionModel * actionModel;
|
||||
ActionEditor * editUi;
|
||||
Ui::AddAction addUi;
|
||||
KDialog * addDialog;
|
||||
void clearActions();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,52 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>SolidActions</class>
|
||||
<widget class="QWidget" name="SolidActions">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>553</width>
|
||||
<height>384</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTreeView" name="TvActions"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QGridLayout" name="GlActions">
|
||||
<item row="0" column="0">
|
||||
<widget class="KPushButton" name="PbAddAction">
|
||||
<property name="text">
|
||||
<string>Add...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KPushButton" name="PbEditAction">
|
||||
<property name="text">
|
||||
<string>Edit...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="KPushButton" name="PbDeleteAction">
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KPushButton</class>
|
||||
<extends>QPushButton</extends>
|
||||
<header>kpushbutton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,6 +0,0 @@
|
|||
file(GLOB desktopfile *.desktop)
|
||||
|
||||
install(
|
||||
FILES ${desktopfile}
|
||||
DESTINATION ${KDE4_DATA_INSTALL_DIR}/solid/devices
|
||||
)
|
|
@ -1,120 +0,0 @@
|
|||
[Desktop Action plugged]
|
||||
# ctxt: AC adapter plugged in
|
||||
Name=Plugged
|
||||
Name[bs]=Utaknut
|
||||
Name[ca]=Endollat
|
||||
Name[ca@valencia]=Endollat
|
||||
Name[cs]=Připojeno
|
||||
Name[da]=I stikkontakten
|
||||
Name[de]=Angeschlossen
|
||||
Name[el]=Σε σύνδεση
|
||||
Name[en_GB]=Plugged
|
||||
Name[es]=Enchufado
|
||||
Name[et]=Ühendatud
|
||||
Name[eu]=Konektatuta
|
||||
Name[fi]=Kytketty
|
||||
Name[fr]=Branché
|
||||
Name[ga]=Plugáilte
|
||||
Name[gl]=Enchufado
|
||||
Name[he]=מחובר
|
||||
Name[hu]=Bedugva
|
||||
Name[ia]=Connectite
|
||||
Name[is]=Í sambandi
|
||||
Name[kk]=Қосылған
|
||||
Name[ko]=연결됨
|
||||
Name[lt]=Prijungtas
|
||||
Name[mr]=प्लग केलेले
|
||||
Name[nb]=Tilkoblet
|
||||
Name[nds]=Tokoppelt
|
||||
Name[nl]=Ingeplugd
|
||||
Name[pa]=ਪਲੱਗ ਲੱਗਾ
|
||||
Name[pl]=Podłączony
|
||||
Name[pt]=Ligado
|
||||
Name[pt_BR]=Conectado
|
||||
Name[ro]=Atașat
|
||||
Name[ru]=Подключён
|
||||
Name[sk]=Pripojené
|
||||
Name[sl]=Priključeno
|
||||
Name[sr]=утакнут
|
||||
Name[sr@ijekavian]=утакнут
|
||||
Name[sr@ijekavianlatin]=utaknut
|
||||
Name[sr@latin]=utaknut
|
||||
Name[sv]=Ansluten
|
||||
Name[tr]=Fişe takılı
|
||||
Name[uk]=З’єднано
|
||||
Name[x-test]=xxPluggedxx
|
||||
Name[zh_CN]=已插入
|
||||
Name[zh_TW]=已插入
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=plugged;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=AcAdapter
|
|
@ -1,430 +0,0 @@
|
|||
[Desktop Action deviceType]
|
||||
Name=Device Type
|
||||
Name[ar]=نوع الجهاز
|
||||
Name[ast]=Triba de preséu
|
||||
Name[bg]=Вид устройство
|
||||
Name[bn]=ডিভাইস ধরন
|
||||
Name[bs]=tip uređaja
|
||||
Name[ca]=Tipus de dispositiu
|
||||
Name[ca@valencia]=Tipus de dispositiu
|
||||
Name[cs]=Typ zařízení
|
||||
Name[csb]=Ôrt ùrządzenia
|
||||
Name[da]=Enhedstype
|
||||
Name[de]=Gerätetyp
|
||||
Name[el]=Τύπος συσκευής
|
||||
Name[en_GB]=Device Type
|
||||
Name[eo]=Aparata Tipo
|
||||
Name[es]=Tipo de dispositivo
|
||||
Name[et]=Seadme tüüp
|
||||
Name[eu]=Gailu mota
|
||||
Name[fa]=نوع دستگاه
|
||||
Name[fi]=Laitetyyppi
|
||||
Name[fr]=Type de périphérique
|
||||
Name[fy]=Apparaat type
|
||||
Name[ga]=Cineál Gléis
|
||||
Name[gl]=Tipo do dispositivo
|
||||
Name[gu]=ઉપકરણ પ્રકાર
|
||||
Name[he]=סוג ההתקן
|
||||
Name[hi]=औज़ार प्रकार
|
||||
Name[hr]=Tip uređaja
|
||||
Name[hu]=Eszköztípus
|
||||
Name[ia]=Typo de dispositivo
|
||||
Name[id]=Tipe Divais
|
||||
Name[is]=Tegund tækis
|
||||
Name[ja]=デバイスのタイプ
|
||||
Name[kk]=Құрылғының түрі
|
||||
Name[km]=ប្រភេទឧបករណ៍
|
||||
Name[kn]=ಸಾಧನದ ಬಗೆ
|
||||
Name[ko]=장치 종류
|
||||
Name[lt]=Įrenginio tipas
|
||||
Name[lv]=Ierīces tips
|
||||
Name[mk]=Тип на уред
|
||||
Name[ml]=ഉപകരണതരം
|
||||
Name[mr]=साधन प्रकार
|
||||
Name[nb]=Enhetstype
|
||||
Name[nds]=Reedschaptyp
|
||||
Name[nl]=Apparaattype
|
||||
Name[nn]=Einingstype
|
||||
Name[pa]=ਜੰਤਰ ਕਿਸਮ
|
||||
Name[pl]=Typ urządzenia
|
||||
Name[pt]=Tipo de Dispositivo
|
||||
Name[pt_BR]=Tipo de dispositivo
|
||||
Name[ro]=Tip dispozitiv
|
||||
Name[ru]=Тип устройства
|
||||
Name[si]=මෙවලම් වර්ගය
|
||||
Name[sk]=Typ zariadenia
|
||||
Name[sl]=Vrsta naprave
|
||||
Name[sr]=тип уређаја
|
||||
Name[sr@ijekavian]=тип уређаја
|
||||
Name[sr@ijekavianlatin]=tip uređaja
|
||||
Name[sr@latin]=tip uređaja
|
||||
Name[sv]=Enhetstyp
|
||||
Name[tg]=Дастгоҳҳо
|
||||
Name[th]=ประเภทของอุปกรณ์
|
||||
Name[tr]=Aygıt Tipi
|
||||
Name[ug]=ئۈسكۈنە تىپى
|
||||
Name[uk]=Тип пристрою
|
||||
Name[vi]=Kiểu thiết bị
|
||||
Name[wa]=Sôre d' éndjin
|
||||
Name[x-test]=xxDevice Typexx
|
||||
Name[zh_CN]=设备类型
|
||||
Name[zh_TW]=裝置類型
|
||||
|
||||
[Desktop Action driver]
|
||||
Name=Driver
|
||||
Name[ar]=المشغل
|
||||
Name[ast]=Controlador
|
||||
Name[bg]=Драйвер
|
||||
Name[bn]=ড্রাইভার
|
||||
Name[bs]=drajver
|
||||
Name[ca]=Controlador
|
||||
Name[ca@valencia]=Controlador
|
||||
Name[cs]=Ovladač
|
||||
Name[csb]=Czérownik
|
||||
Name[da]=Driver
|
||||
Name[de]=Treiber
|
||||
Name[el]=Οδηγός
|
||||
Name[en_GB]=Driver
|
||||
Name[eo]=Pelilo
|
||||
Name[es]=Controlador
|
||||
Name[et]=Draiver
|
||||
Name[eu]=Gidaria
|
||||
Name[fa]=گرداننده
|
||||
Name[fi]=Ajuri
|
||||
Name[fr]=Pilote
|
||||
Name[fy]=Stjoerprogramma
|
||||
Name[ga]=Tiománaí
|
||||
Name[gl]=Controlador
|
||||
Name[gu]=ડ્રાઇવર
|
||||
Name[he]=מנהל התקן
|
||||
Name[hi]=ड्राईवर
|
||||
Name[hr]=Pogonski program
|
||||
Name[hu]=Meghajtó
|
||||
Name[ia]=Driver
|
||||
Name[id]=Penggerak
|
||||
Name[is]=Rekill
|
||||
Name[ja]=ドライバ
|
||||
Name[ka]=დრაივერი
|
||||
Name[kk]=Драйвері
|
||||
Name[km]=កម្មវិធីបញ្ជា
|
||||
Name[kn]=ಚಾಲಕ
|
||||
Name[ko]=드라이버
|
||||
Name[lt]=Tvarkyklė
|
||||
Name[lv]=Draiveris
|
||||
Name[mai]=ड्राइवर
|
||||
Name[mk]=Управувач
|
||||
Name[ml]=സാരഥി
|
||||
Name[mr]=ड्राइव्हर
|
||||
Name[nb]=Driver
|
||||
Name[nds]=Driever
|
||||
Name[nl]=Stuurprogramma
|
||||
Name[nn]=Drivar
|
||||
Name[pa]=ਡਰਾਇਵਰ
|
||||
Name[pl]=Sterownik
|
||||
Name[pt]=Controlador
|
||||
Name[pt_BR]=Driver
|
||||
Name[ro]=Driver
|
||||
Name[ru]=Драйвер
|
||||
Name[si]=ධාවකය
|
||||
Name[sk]=Ovládač
|
||||
Name[sl]=Gonilnik
|
||||
Name[sr]=драјвер
|
||||
Name[sr@ijekavian]=драјвер
|
||||
Name[sr@ijekavianlatin]=drajver
|
||||
Name[sr@latin]=drajver
|
||||
Name[sv]=Drivrutin
|
||||
Name[tg]=Драйвер
|
||||
Name[th]=ไดรเวอร์
|
||||
Name[tr]=Sürücü
|
||||
Name[ug]=قوزغاتقۇ
|
||||
Name[uk]=Драйвер
|
||||
Name[vi]=Trình điều khiển
|
||||
Name[wa]=Mineu
|
||||
Name[x-test]=xxDriverxx
|
||||
Name[zh_CN]=驱动
|
||||
Name[zh_TW]=驅動程式
|
||||
|
||||
[Desktop Action driverHandle]
|
||||
Name=Driver Handle
|
||||
Name[ar]=مقبض المشغل
|
||||
Name[ast]=Controlador de preséu
|
||||
Name[bg]=Управление на драйвера
|
||||
Name[bn]=ড্রাইভার হ্যাণ্ডল
|
||||
Name[bs]=ručka drajvera
|
||||
Name[ca]=Gestor de controlador
|
||||
Name[ca@valencia]=Gestor de controlador
|
||||
Name[cs]=ID ovladače
|
||||
Name[csb]=Czérownik Handle
|
||||
Name[da]=Driver-handle
|
||||
Name[de]=Treiber-Alias
|
||||
Name[el]=Χειριστήριο οδηγού
|
||||
Name[en_GB]=Driver Handle
|
||||
Name[eo]=Pelila tenilo
|
||||
Name[es]=Controlador de dispositivo
|
||||
Name[et]=Draiveri pide
|
||||
Name[eu]=Gidariaren heldulekua
|
||||
Name[fi]=Ajuritunniste
|
||||
Name[fr]=Gestionnaire du pilote
|
||||
Name[fy]=Stjoerprograma regelaar
|
||||
Name[ga]=Hanla an Tiománaí
|
||||
Name[gl]=Xestión do controlador
|
||||
Name[gu]=ડ્રાઇવ સંભાળનાર
|
||||
Name[he]=ממשק מנהל ההתקן
|
||||
Name[hi]=औजार हेंडल
|
||||
Name[hr]=Pogonski program
|
||||
Name[hu]=Meghajtóazonosító
|
||||
Name[ia]=Maneator de driver
|
||||
Name[id]=Penanganan Penggerak
|
||||
Name[is]=Hald rekils
|
||||
Name[ja]=ドライバハンドル
|
||||
Name[kk]=Драйвер өңдеуі
|
||||
Name[km]=ការគ្រប់គ្រងកម្មវិធីបញ្ជា
|
||||
Name[ko]=드라이버 핸들
|
||||
Name[lt]=Tvarkyklės rankena
|
||||
Name[lv]=Draivera rokturis
|
||||
Name[ml]=ഉപരണത്തിന്റെ പിടി
|
||||
Name[mr]=ड्राइव्हर हेंडल
|
||||
Name[nb]=Drivernavn
|
||||
Name[nds]=Drievergreep
|
||||
Name[nl]=Stuurprogrammapook
|
||||
Name[nn]=Drivarnamn
|
||||
Name[pa]=ਡਰਾਇਵਰ ਹੈਂਡਲ
|
||||
Name[pl]=Uchwyt sterownika
|
||||
Name[pt]=Descritor do Controlador
|
||||
Name[pt_BR]=Manipulador do driver
|
||||
Name[ro]=Manipulare driver
|
||||
Name[ru]=Драйверная ссылка на устройство
|
||||
Name[si]=ධාවක අල්ලුව
|
||||
Name[sk]=Rukoväť ovládača
|
||||
Name[sl]=Ročica gonilnika
|
||||
Name[sr]=ручка драјвера
|
||||
Name[sr@ijekavian]=ручка драјвера
|
||||
Name[sr@ijekavianlatin]=ručka drajvera
|
||||
Name[sr@latin]=ručka drajvera
|
||||
Name[sv]=Drivrutinreferens
|
||||
Name[tg]=Плеери DJ-Mixer
|
||||
Name[th]=การจัดการไดรเวอร์
|
||||
Name[tr]=Sürücü Tanıtıcı
|
||||
Name[ug]=قوزغاتقۇ تۇتقۇسى
|
||||
Name[uk]=Обробка драйвером
|
||||
Name[vi]=Xử lý trình điều khiển
|
||||
Name[wa]=Apougnî mineu
|
||||
Name[x-test]=xxDriver Handlexx
|
||||
Name[zh_CN]=驱动处理接口
|
||||
Name[zh_TW]=驅動程式處理
|
||||
|
||||
[Desktop Action name]
|
||||
Name=Name
|
||||
Name[ar]=الاسم
|
||||
Name[ast]=Nome
|
||||
Name[bg]=Име
|
||||
Name[bn]=নাম
|
||||
Name[bs]=ime
|
||||
Name[ca]=Nom
|
||||
Name[ca@valencia]=Nom
|
||||
Name[cs]=Jméno
|
||||
Name[csb]=Miono
|
||||
Name[da]=Navn
|
||||
Name[de]=Name
|
||||
Name[el]=Όνομα
|
||||
Name[en_GB]=Name
|
||||
Name[eo]=Nomo
|
||||
Name[es]=Nombre
|
||||
Name[et]=Nimi
|
||||
Name[eu]=Izena
|
||||
Name[fa]=نام
|
||||
Name[fi]=Nimi
|
||||
Name[fr]=Nom
|
||||
Name[fy]=Namme
|
||||
Name[ga]=Ainm
|
||||
Name[gl]=Nome
|
||||
Name[gu]=નામ
|
||||
Name[he]=שם
|
||||
Name[hi]=नाम
|
||||
Name[hr]=Ime
|
||||
Name[hu]=Név
|
||||
Name[ia]=Nomine
|
||||
Name[id]=Nama
|
||||
Name[is]=Heiti
|
||||
Name[ja]=名前
|
||||
Name[ka]=სახელი
|
||||
Name[kk]=Атауы
|
||||
Name[km]=ឈ្មោះ
|
||||
Name[kn]=ಹೆಸರು
|
||||
Name[ko]=이름
|
||||
Name[lt]=Pavadinimas
|
||||
Name[lv]=Nosaukums
|
||||
Name[mk]=Име
|
||||
Name[ml]=പേരു്
|
||||
Name[mr]=नाव
|
||||
Name[nb]=Navn
|
||||
Name[nds]=Naam
|
||||
Name[nl]=Naam
|
||||
Name[nn]=Namn
|
||||
Name[pa]=ਨਾਂ
|
||||
Name[pl]=Nazwa
|
||||
Name[pt]=Nome
|
||||
Name[pt_BR]=Nome
|
||||
Name[ro]=Denumire
|
||||
Name[ru]=Имя
|
||||
Name[si]=නම
|
||||
Name[sk]=Názov
|
||||
Name[sl]=Ime
|
||||
Name[sr]=име
|
||||
Name[sr@ijekavian]=име
|
||||
Name[sr@ijekavianlatin]=ime
|
||||
Name[sr@latin]=ime
|
||||
Name[sv]=Namn
|
||||
Name[tg]=Ном
|
||||
Name[th]=ชื่อ
|
||||
Name[tr]=İsim
|
||||
Name[ug]=ئاتى
|
||||
Name[uk]=Назва
|
||||
Name[wa]=No
|
||||
Name[x-test]=xxNamexx
|
||||
Name[zh_CN]=名称
|
||||
Name[zh_TW]=名稱
|
||||
|
||||
[Desktop Action soundcardType]
|
||||
Name=Soundcard Type
|
||||
Name[ar]=نوع بطاقة الصوت
|
||||
Name[ast]=Triba de tarxeta de soníu
|
||||
Name[bg]=Вид звукова карта
|
||||
Name[bn]=সাউণ্ডকার্ড ধরন
|
||||
Name[bs]=tip zvučne kartice
|
||||
Name[ca]=Tipus de targeta de so
|
||||
Name[ca@valencia]=Tipus de targeta de so
|
||||
Name[cs]=Typ zvukové karty
|
||||
Name[csb]=Ôrt zwãkòwi kôrtë
|
||||
Name[da]=Type af lydkort
|
||||
Name[de]=Soundkartentyp
|
||||
Name[el]=Τύπος κάρτας ήχου
|
||||
Name[en_GB]=Soundcard Type
|
||||
Name[eo]=Tipo de Sonkarto
|
||||
Name[es]=Tipo de tarjeta de sonido
|
||||
Name[et]=Helikaardi tüüp
|
||||
Name[eu]=Soinu-txartel mota
|
||||
Name[fi]=Äänikortin tyyppi
|
||||
Name[fr]=Type de carte son
|
||||
Name[fy]=Lûdskaart type
|
||||
Name[ga]=Cineál an Chárta Fuaime
|
||||
Name[gl]=Tipo de tarxeta de son
|
||||
Name[gu]=સાઉન્ડકાર્ડ પ્રકાર
|
||||
Name[he]=סוג כרטיס קול
|
||||
Name[hi]=ध्वनिकार्ड प्रकार
|
||||
Name[hr]=Tip zvučne kartice
|
||||
Name[hu]=Hangkártyatípus
|
||||
Name[ia]=Typo de carta de sono
|
||||
Name[id]=Tipe Kartu Suara
|
||||
Name[is]=Tegund hljóðkorts
|
||||
Name[ja]=サウンドカードのタイプ
|
||||
Name[kk]=Дыбыс картасының түрі
|
||||
Name[km]=ប្រភេទកាតសំឡេង
|
||||
Name[kn]=ಧ್ವನಿಕಾರ್ಡಿನ ಬಗೆ
|
||||
Name[ko]=사운드카드 종류
|
||||
Name[lt]=Garso plokštės tipas
|
||||
Name[lv]=Skaņas kartes tips
|
||||
Name[mai]=साउंडकार्ड प्रकार
|
||||
Name[mk]=Тип на аудиокартичка
|
||||
Name[ml]=സൌണ്ട് കാര്ഡിന്റെ തരം
|
||||
Name[mr]=साउंडकार्ड प्रकार
|
||||
Name[nb]=Lydkort-type
|
||||
Name[nds]=Klangkoort-Typ
|
||||
Name[nl]=Type geluidskaart
|
||||
Name[nn]=Lydkorttype
|
||||
Name[pa]=ਸਾਊਂਡ ਕਾਰਡ ਕਿਸਮ
|
||||
Name[pl]=Typ karty dźwiękowej
|
||||
Name[pt]=Tipo de Placa de Som
|
||||
Name[pt_BR]=Tipo de placa de som
|
||||
Name[ro]=Tipul plăcii de sunet
|
||||
Name[ru]=Тип звуковой карты
|
||||
Name[si]=ශබ්ද කාඩ්පත් වර්ගය
|
||||
Name[sk]=Typ zvukovej karty
|
||||
Name[sl]=Vrsta zvočne kartice
|
||||
Name[sr]=тип звучне картице
|
||||
Name[sr@ijekavian]=тип звучне картице
|
||||
Name[sr@ijekavianlatin]=tip zvučne kartice
|
||||
Name[sr@latin]=tip zvučne kartice
|
||||
Name[sv]=Typ av ljudkort
|
||||
Name[tg]=Намуди корти овозӣ
|
||||
Name[th]=ประเภทของแผงวงจรเสียง
|
||||
Name[tr]=Ses Kartı Tipi
|
||||
Name[ug]=ئۈن كارتا تىپى
|
||||
Name[uk]=Тип звукової картки
|
||||
Name[wa]=Sôre di cwåte son
|
||||
Name[x-test]=xxSoundcard Typexx
|
||||
Name[zh_CN]=声卡类型
|
||||
Name[zh_TW]=音效卡類型
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=deviceType;driver;driverHandle;name;soundcardType;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=AudioInterface
|
|
@ -1,407 +0,0 @@
|
|||
[Desktop Action chargePercent]
|
||||
Name=Charge Percent
|
||||
Name[ar]=نسبة الشحن
|
||||
Name[ast]=Porcentaxe de carga
|
||||
Name[bg]=Зареждане (%)
|
||||
Name[bn]=শতকরা চার্জ
|
||||
Name[bs]=popunjenost
|
||||
Name[ca]=Percentatge de càrrega
|
||||
Name[ca@valencia]=Percentatge de càrrega
|
||||
Name[cs]=Procento nabití
|
||||
Name[da]=Ladningsprocent
|
||||
Name[de]=Ladestand
|
||||
Name[el]=Ποσοστό φόρτισης
|
||||
Name[en_GB]=Charge Percent
|
||||
Name[eo]=Procento de Ŝargo
|
||||
Name[es]=Porcentaje de carga
|
||||
Name[et]=Täituvuse protsent
|
||||
Name[eu]=Kargaren ehunekoa
|
||||
Name[fi]=Latauksen tila prosenteissa
|
||||
Name[fr]=Pourcentage de charge
|
||||
Name[fy]=Batterijlading prosint
|
||||
Name[ga]=Céatadán Luchtaithe
|
||||
Name[gl]=Mudar a porcentaxe
|
||||
Name[gu]=ચાર્જ ટકા
|
||||
Name[he]=אחוז טעינה
|
||||
Name[hi]=चार्ज प्रतिशत
|
||||
Name[hr]=Postotak preostalog kapaciteta
|
||||
Name[hu]=Feltöltöttségi százalék
|
||||
Name[ia]=Percentage de cargamento
|
||||
Name[id]=Persentase Pengisian
|
||||
Name[is]=Prósentuhlutfall hleðslu
|
||||
Name[it]=Percentuale di carica
|
||||
Name[ja]=充電率
|
||||
Name[kk]=Толу пайызы
|
||||
Name[km]=ភាគរយបញ្ចូលថ្ម
|
||||
Name[kn]=ಚಾರ್ಜಿನ ಪ್ರತಿಶತ
|
||||
Name[ko]=충전률
|
||||
Name[lt]=Įkrovimas procentais
|
||||
Name[lv]=Uzlādes procenti
|
||||
Name[mai]=चार्ज प्रतिशत
|
||||
Name[mk]=Процент на полнеж
|
||||
Name[ml]=ചാര്ജ്ജ് ശതമാനം
|
||||
Name[mr]=चार्ज टक्केवारी
|
||||
Name[nb]=Prosent lading
|
||||
Name[nds]=Oplaadperzent
|
||||
Name[nl]=Ladingspercentage
|
||||
Name[nn]=Oppladingsprosent
|
||||
Name[pa]=ਚਾਰਜ ਫੀਸਦੀ
|
||||
Name[pl]=Poziom naładowania
|
||||
Name[pt]=Percentagem de Carga
|
||||
Name[pt_BR]=Porcentagem de carga
|
||||
Name[ro]=Procentaj încărcare
|
||||
Name[ru]=Уровень заряда
|
||||
Name[si]=ආරෝපිත ප්රමාණය
|
||||
Name[sk]=Percento nabitia
|
||||
Name[sl]=Odstotek napolnjenosti
|
||||
Name[sr]=попуњеност
|
||||
Name[sr@ijekavian]=попуњеност
|
||||
Name[sr@ijekavianlatin]=popunjenost
|
||||
Name[sr@latin]=popunjenost
|
||||
Name[sv]=Laddningsprocent
|
||||
Name[tg]=Фоизи барқгирӣ
|
||||
Name[th]=ร้อยละของประจุไฟ
|
||||
Name[tr]=Şarj Yüzdesi
|
||||
Name[ug]=پىرسەنتىنى ئۆزگەرت
|
||||
Name[uk]=Рівень заряду
|
||||
Name[vi]=Phần trăm sạc
|
||||
Name[wa]=Åcintaedje di tcherdjaedje
|
||||
Name[x-test]=xxCharge Percentxx
|
||||
Name[zh_CN]=充电百分比
|
||||
Name[zh_TW]=充電百分比
|
||||
|
||||
[Desktop Action chargeState]
|
||||
Name=Charge State
|
||||
Name[ar]=حالة الشحن
|
||||
Name[ast]=Estáu de carga
|
||||
Name[bg]=Състояние на зареждането
|
||||
Name[bn]=চার্জের অবস্থা
|
||||
Name[bs]=stanje punjenja
|
||||
Name[ca]=Estat de la càrrega
|
||||
Name[ca@valencia]=Estat de la càrrega
|
||||
Name[cs]=Stav nabití
|
||||
Name[da]=Ladningstilstand
|
||||
Name[de]=Ladestatus
|
||||
Name[el]=Κατάσταση φόρτισης
|
||||
Name[en_GB]=Charge State
|
||||
Name[eo]=Stato de ŝarĝo
|
||||
Name[es]=Estado de carga
|
||||
Name[et]=Täituvuse olek
|
||||
Name[eu]=Kargaren egoera
|
||||
Name[fi]=Latauksen tila
|
||||
Name[fr]=État de charge
|
||||
Name[fy]=Batterijlading tastân
|
||||
Name[ga]=Staid Luchtaithe
|
||||
Name[gl]=Mudar o estado
|
||||
Name[gu]=ચાર્જ સ્થિતિ
|
||||
Name[he]=מצב טעינה
|
||||
Name[hi]=चार्ज स्तिथि
|
||||
Name[hr]=Stanje preostalog kapaciteta
|
||||
Name[hu]=Feltöltöttségi állapot
|
||||
Name[ia]=Stato de cargamento
|
||||
Name[id]=Tingkat Pengisian
|
||||
Name[is]=Staða hleðslu
|
||||
Name[it]=Stato di carica
|
||||
Name[ja]=充電の状態
|
||||
Name[kk]=Толтыру күй-жайы
|
||||
Name[km]=ស្ថានភាពបញ្ចូលថ្ម
|
||||
Name[kn]=ಚಾರ್ಜಿನ ಸ್ಥಿತಿ
|
||||
Name[ko]=충전 상태
|
||||
Name[lt]=Įkrovimo būklė
|
||||
Name[lv]=Uzlādes stāvoklis
|
||||
Name[mai]=चार्ज स्थिति
|
||||
Name[mk]=Состојба на полнеж
|
||||
Name[ml]=ചാര്ജ്ജ് സ്ഥിതി
|
||||
Name[mr]=चार्ज स्थिती
|
||||
Name[nb]=Ladingstilstand
|
||||
Name[nds]=Oplaadtostand
|
||||
Name[nl]=Ladingsstatus
|
||||
Name[nn]=Oppladingsstatus
|
||||
Name[pa]=ਚਾਰਜ ਹਾਲਤ
|
||||
Name[pl]=Stan ładowania
|
||||
Name[pt]=Estado da Carga
|
||||
Name[pt_BR]=Estado da carga
|
||||
Name[ro]=Starea încărcării
|
||||
Name[ru]=Состояние заряда
|
||||
Name[si]=ආරෝපණ තත්වය
|
||||
Name[sk]=Stav nabitia
|
||||
Name[sl]=Stanje napolnjenosti
|
||||
Name[sr]=стање пуњења
|
||||
Name[sr@ijekavian]=стање пуњења
|
||||
Name[sr@ijekavianlatin]=stanje punjenja
|
||||
Name[sr@latin]=stanje punjenja
|
||||
Name[sv]=Laddningstillstånd
|
||||
Name[tg]=Ҳолати қувва
|
||||
Name[th]=สถานะการประจุไฟ
|
||||
Name[tr]=Şarj Durumu
|
||||
Name[ug]=ھالىتىنى ئۆزگەرت
|
||||
Name[uk]=Стан зарядженості
|
||||
Name[vi]=Trạng thái sạc
|
||||
Name[wa]=Estat do tcherdjaedje
|
||||
Name[x-test]=xxCharge Statexx
|
||||
Name[zh_CN]=充电状态
|
||||
Name[zh_TW]=充電狀態
|
||||
|
||||
[Desktop Action plugged]
|
||||
# ctxt: battery plugged in
|
||||
Name=Plugged
|
||||
Name[bs]=Utaknut
|
||||
Name[ca]=Endollada
|
||||
Name[ca@valencia]=Endollada
|
||||
Name[cs]=Připojeno
|
||||
Name[da]=I stikkontakten
|
||||
Name[de]=Angeschlossen
|
||||
Name[el]=Σε σύνδεση
|
||||
Name[en_GB]=Plugged
|
||||
Name[es]=Enchufado
|
||||
Name[et]=Ühendatud
|
||||
Name[eu]=Konektatuta
|
||||
Name[fi]=Kytketty
|
||||
Name[fr]=Branchée
|
||||
Name[ga]=Plugáilte
|
||||
Name[gl]=Enchufada
|
||||
Name[he]=מחובר
|
||||
Name[hu]=Bedugva
|
||||
Name[ia]=Connectite
|
||||
Name[is]=Í sambandi
|
||||
Name[it]=Connessa
|
||||
Name[kk]=Қосылған
|
||||
Name[ko]=연결됨
|
||||
Name[lt]=Prijungtas
|
||||
Name[mr]=प्लग केलेले
|
||||
Name[nb]=Tilkoblet
|
||||
Name[nds]=Tokoppelt
|
||||
Name[nl]=Ingeplugd
|
||||
Name[pa]=ਪਲੱਗ ਲੱਗਾ
|
||||
Name[pl]=Podłączona
|
||||
Name[pt]=Ligada
|
||||
Name[pt_BR]=Conectada
|
||||
Name[ro]=Atașat
|
||||
Name[ru]=Подключён
|
||||
Name[sk]=Pripojené
|
||||
Name[sl]=Priključena
|
||||
Name[sr]=утакнута
|
||||
Name[sr@ijekavian]=утакнута
|
||||
Name[sr@ijekavianlatin]=utaknuta
|
||||
Name[sr@latin]=utaknuta
|
||||
Name[sv]=Anslutet
|
||||
Name[tr]=Fişe takılı
|
||||
Name[uk]=З’єднано
|
||||
Name[x-test]=xxPluggedxx
|
||||
Name[zh_CN]=已插入
|
||||
Name[zh_TW]=已插入
|
||||
|
||||
[Desktop Action rechargeable]
|
||||
Name=Rechargeable
|
||||
Name[ar]=قابلة للشحن
|
||||
Name[ast]=Recargable
|
||||
Name[bg]=Презаредима
|
||||
Name[bn]=রিচার্জযোগ্য
|
||||
Name[bs]=punjiva
|
||||
Name[ca]=Recarregable
|
||||
Name[ca@valencia]=Recarregable
|
||||
Name[cs]=Nabíjecí
|
||||
Name[da]=Genopladeligt
|
||||
Name[de]=Wiederaufladbar
|
||||
Name[el]=Επαναφορτιζόμενη
|
||||
Name[en_GB]=Rechargeable
|
||||
Name[eo]=Reŝarĝebla
|
||||
Name[es]=Recargable
|
||||
Name[et]=Laetav
|
||||
Name[eu]=Kargatzekoa
|
||||
Name[fi]=Uudelleenladattavissa
|
||||
Name[fr]=Rechargeable
|
||||
Name[fy]=Oplaadbaar
|
||||
Name[ga]=In-Athluchtaithe
|
||||
Name[gl]=Recargábel
|
||||
Name[he]=ניתן לטעינה חוזרת
|
||||
Name[hi]=चार्जयोग्य
|
||||
Name[hr]=Punjiva
|
||||
Name[hu]=Újratölthető
|
||||
Name[ia]=Recargabile
|
||||
Name[id]=Dapat Diisi Ulang
|
||||
Name[is]=Endurhlaðanlegt
|
||||
Name[it]=Ricaricabile
|
||||
Name[ja]=再充電可能
|
||||
Name[kk]=Қайта толтырылатын
|
||||
Name[km]=អាចបញ្ចូលថ្មបាន
|
||||
Name[kn]=ಮರು ಚಾರ್ಜ್ ಮಾಡಬಹುದಾದ
|
||||
Name[ko]=충전 가능
|
||||
Name[lt]=Iš naujo pakraunamas
|
||||
Name[lv]=Lādējams
|
||||
Name[mai]=फेर चार्ज करैयोग्य
|
||||
Name[ml]=വീണ്ടും ചാര്ജ്ജ് ചെയ്യാവുന്നത്
|
||||
Name[mr]=परत चार्ज करता येण्याजोगे
|
||||
Name[nb]=Oppladbar
|
||||
Name[nds]=Wedderlaadbor
|
||||
Name[nl]=Oplaadbaar
|
||||
Name[nn]=Oppladbart
|
||||
Name[pa]=ਮੁੜ-ਚਾਰਜ ਯੋਗ
|
||||
Name[pl]=Do wielokrotnego ładowania
|
||||
Name[pt]=Recarregável
|
||||
Name[pt_BR]=Recarregável
|
||||
Name[ro]=Reîncărcabil
|
||||
Name[ru]=Перезаряжаемая
|
||||
Name[si]=නැවත ආරෝපනය කල හැකි
|
||||
Name[sk]=Dobíjateľná
|
||||
Name[sl]=Znova napolnljiva
|
||||
Name[sr]=пуњива
|
||||
Name[sr@ijekavian]=пуњива
|
||||
Name[sr@ijekavianlatin]=punjiva
|
||||
Name[sr@latin]=punjiva
|
||||
Name[sv]=Uppladdningsbart
|
||||
Name[th]=สามารถประจุไฟใหม่ได้
|
||||
Name[tr]=Yeniden şarj edilebilir
|
||||
Name[ug]=توكلاشچان
|
||||
Name[uk]=Перезарядка
|
||||
Name[wa]=Ritcherdjåve
|
||||
Name[x-test]=xxRechargeablexx
|
||||
Name[zh_CN]=可充电
|
||||
Name[zh_TW]=可重新充電
|
||||
|
||||
[Desktop Action type]
|
||||
Name=Type
|
||||
Name[ar]=النوع
|
||||
Name[ast]=Triba
|
||||
Name[bg]=Вид
|
||||
Name[bn]=ধরন
|
||||
Name[bs]=tip
|
||||
Name[ca]=Tipus
|
||||
Name[ca@valencia]=Tipus
|
||||
Name[cs]=Typ
|
||||
Name[csb]=Ôrt
|
||||
Name[da]=Type
|
||||
Name[de]=Typ
|
||||
Name[el]=Τύπος
|
||||
Name[en_GB]=Type
|
||||
Name[eo]=Tipo
|
||||
Name[es]=Tipo
|
||||
Name[et]=Tüüp
|
||||
Name[eu]=Mota
|
||||
Name[fa]=نوع
|
||||
Name[fi]=Tyyppi
|
||||
Name[fr]=Type
|
||||
Name[fy]=Type
|
||||
Name[ga]=Cineál
|
||||
Name[gl]=Tipo
|
||||
Name[gu]=પ્રકાર
|
||||
Name[he]=סוג
|
||||
Name[hi]=प्रकार
|
||||
Name[hr]=Tip
|
||||
Name[hu]=Típus
|
||||
Name[ia]=Typo
|
||||
Name[id]=Tipe
|
||||
Name[is]=Tegund
|
||||
Name[it]=Tipo
|
||||
Name[ja]=タイプ
|
||||
Name[ka]=ტიპი
|
||||
Name[kk]=Түрі
|
||||
Name[km]=ប្រភេទ
|
||||
Name[kn]=ಬಗೆ
|
||||
Name[ko]=종류
|
||||
Name[lt]=Tipas
|
||||
Name[lv]=Tips
|
||||
Name[mai]=प्रकार
|
||||
Name[mk]=Тип
|
||||
Name[ml]=തരം
|
||||
Name[mr]=प्रकार
|
||||
Name[nb]=Type
|
||||
Name[nds]=Typ
|
||||
Name[nl]=Type
|
||||
Name[nn]=Type
|
||||
Name[pa]=ਕਿਸਮ
|
||||
Name[pl]=Typ
|
||||
Name[pt]=Tipo
|
||||
Name[pt_BR]=Tipo
|
||||
Name[ro]=Tip
|
||||
Name[ru]=Тип
|
||||
Name[si]=වර්ගය
|
||||
Name[sk]=Typ
|
||||
Name[sl]=Vrsta
|
||||
Name[sr]=тип
|
||||
Name[sr@ijekavian]=тип
|
||||
Name[sr@ijekavianlatin]=tip
|
||||
Name[sr@latin]=tip
|
||||
Name[sv]=Typ
|
||||
Name[tg]=Намуд
|
||||
Name[th]=ประเภท
|
||||
Name[tr]=Tip
|
||||
Name[ug]=تىپى
|
||||
Name[uk]=Тип
|
||||
Name[wa]=Sôre
|
||||
Name[x-test]=xxTypexx
|
||||
Name[zh_CN]=类型
|
||||
Name[zh_TW]=類型
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=chargePercent;chargeState;plugged;rechargeable;type;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Battery
|
|
@ -1,286 +0,0 @@
|
|||
[Desktop Action device]
|
||||
Name=Device
|
||||
Name[ar]=الجهاز
|
||||
Name[ast]=Preseos
|
||||
Name[bg]=Устройство
|
||||
Name[bn]=ডিভাইস
|
||||
Name[bs]=uređaj
|
||||
Name[ca]=Dispositiu
|
||||
Name[ca@valencia]=Dispositiu
|
||||
Name[cs]=Zařízení
|
||||
Name[csb]=Ùrządzenié
|
||||
Name[da]=Enhed
|
||||
Name[de]=Gerät
|
||||
Name[el]=Συσκευή
|
||||
Name[en_GB]=Device
|
||||
Name[eo]=Aparato
|
||||
Name[es]=Dispositivo
|
||||
Name[et]=Seade
|
||||
Name[eu]=Gailua
|
||||
Name[fa]=دستگاه
|
||||
Name[fi]=Laite
|
||||
Name[fr]=Périphérique
|
||||
Name[fy]=Apparaat
|
||||
Name[ga]=Gléas
|
||||
Name[gl]=Dispositivo
|
||||
Name[gu]=ઉપકરણ
|
||||
Name[he]=התקן
|
||||
Name[hi]=औज़ार
|
||||
Name[hr]=Uređaj
|
||||
Name[hu]=Eszköz
|
||||
Name[ia]=Dispositivo
|
||||
Name[id]=Divais
|
||||
Name[is]=Tæki
|
||||
Name[it]=Dispositivo
|
||||
Name[ja]=デバイス
|
||||
Name[ka]=მოწყობილობა
|
||||
Name[kk]=Құрылғысы
|
||||
Name[km]=ឧបករណ៍
|
||||
Name[kn]=ಸಾಧನ
|
||||
Name[ko]=장치
|
||||
Name[lt]=Įrenginys
|
||||
Name[lv]=Ierīce
|
||||
Name[mk]=Уред
|
||||
Name[ml]=ഉപകരണം
|
||||
Name[mr]=साधन
|
||||
Name[nb]=Enhet
|
||||
Name[nds]=Reedschap
|
||||
Name[nl]=Apparaat
|
||||
Name[nn]=Eining
|
||||
Name[pa]=ਜੰਤਰ
|
||||
Name[pl]=Urządzenie
|
||||
Name[pt]=Dispositivo
|
||||
Name[pt_BR]=Dispositivo
|
||||
Name[ro]=Dispozitiv
|
||||
Name[ru]=Устройство
|
||||
Name[si]=මෙවලම
|
||||
Name[sk]=Zariadenie
|
||||
Name[sl]=Naprava
|
||||
Name[sr]=уређај
|
||||
Name[sr@ijekavian]=уређај
|
||||
Name[sr@ijekavianlatin]=uređaj
|
||||
Name[sr@latin]=uređaj
|
||||
Name[sv]=Enhet
|
||||
Name[tg]=Дастгоҳ
|
||||
Name[th]=อุปกรณ์
|
||||
Name[tr]=Aygıt
|
||||
Name[ug]=ئۈسكۈنە
|
||||
Name[uk]=Пристрій
|
||||
Name[vi]=Thiết bị
|
||||
Name[wa]=Éndjin
|
||||
Name[x-test]=xxDevicexx
|
||||
Name[zh_CN]=设备
|
||||
Name[zh_TW]=裝置
|
||||
|
||||
[Desktop Action major]
|
||||
Name=Major
|
||||
Name[ar]=عام
|
||||
Name[ast]=Mayor
|
||||
Name[bn]=মেজর
|
||||
Name[bs]=Glavnii
|
||||
Name[ca]=Major
|
||||
Name[ca@valencia]=Major
|
||||
Name[cs]=Velké
|
||||
Name[csb]=Wësok
|
||||
Name[da]=Stor
|
||||
Name[de]=Hohe Kennzahl
|
||||
Name[el]=Κύριο
|
||||
Name[en_GB]=Major
|
||||
Name[eo]=ĉefa
|
||||
Name[es]=Mayor
|
||||
Name[et]=Põhiversioon
|
||||
Name[eu]=Handiagoa
|
||||
Name[fi]=Ensisijainen
|
||||
Name[fr]=Majeur
|
||||
Name[fy]=Grut
|
||||
Name[ga]=Príomh
|
||||
Name[gl]=Maior
|
||||
Name[gu]=મુખ્ય
|
||||
Name[he]=ראשי
|
||||
Name[hi]=प्रमुख
|
||||
Name[hr]=Glavni
|
||||
Name[hu]=Főszám
|
||||
Name[ia]=Major
|
||||
Name[id]=Mayor
|
||||
Name[is]=Mest
|
||||
Name[it]=Maggiore
|
||||
Name[ja]=メジャー
|
||||
Name[kk]=Негізгі
|
||||
Name[km]=ធំ
|
||||
Name[kn]=ಪ್ರಮುಖ
|
||||
Name[ko]=주
|
||||
Name[lt]=Pagrindinis
|
||||
Name[lv]=Galvenais
|
||||
Name[mk]=Главен
|
||||
Name[ml]=മുഖ്യം
|
||||
Name[mr]=मोठा
|
||||
Name[nb]=Hoved
|
||||
Name[nds]=Hooch
|
||||
Name[nl]=Hoofd
|
||||
Name[nn]=Hovud
|
||||
Name[pa]=ਮੇਜ਼ਰ
|
||||
Name[pl]=Główny numer urządzenia
|
||||
Name[pt]=Nº Maior
|
||||
Name[pt_BR]=Maior
|
||||
Name[ro]=Major
|
||||
Name[ru]=Старший номер (major)
|
||||
Name[si]=ප්රධාන
|
||||
Name[sk]=Major
|
||||
Name[sl]=Velika
|
||||
Name[sr]=велики
|
||||
Name[sr@ijekavian]=велики
|
||||
Name[sr@ijekavianlatin]=veliki
|
||||
Name[sr@latin]=veliki
|
||||
Name[sv]=Huvudnummer
|
||||
Name[tg]=Moria
|
||||
Name[th]=หมายเลขหลัก
|
||||
Name[tr]=Büyük
|
||||
Name[ug]=ئاساسىي
|
||||
Name[uk]=Головний
|
||||
Name[wa]=Grand
|
||||
Name[x-test]=xxMajorxx
|
||||
Name[zh_CN]=主号
|
||||
Name[zh_TW]=主要
|
||||
|
||||
[Desktop Action minor]
|
||||
Name=Minor
|
||||
Name[ar]=فرعي
|
||||
Name[ast]=Menor
|
||||
Name[bn]=মাইনর
|
||||
Name[bs]=Sporedni
|
||||
Name[ca]=Menor
|
||||
Name[ca@valencia]=Menor
|
||||
Name[cs]=Malé
|
||||
Name[csb]=Niskò
|
||||
Name[da]=Mindre
|
||||
Name[de]=Niedrige Kennzahl
|
||||
Name[el]=Δευτερεύον
|
||||
Name[en_GB]=Minor
|
||||
Name[eo]=Malĉefa
|
||||
Name[es]=Menor
|
||||
Name[et]=Alamversioon
|
||||
Name[eu]=Txikiagoa
|
||||
Name[fi]=Toissijainen
|
||||
Name[fr]=Mineur
|
||||
Name[fy]=Lyts
|
||||
Name[ga]=Mion
|
||||
Name[gl]=Menor
|
||||
Name[gu]=ગૌણ
|
||||
Name[he]=משני
|
||||
Name[hi]=अमुख्य
|
||||
Name[hr]=Sporedni
|
||||
Name[hu]=Alszám
|
||||
Name[ia]=Minor
|
||||
Name[id]=Minor
|
||||
Name[is]=Minnst
|
||||
Name[it]=Minore
|
||||
Name[ja]=マイナー
|
||||
Name[kk]=Қосалқы
|
||||
Name[km]=តូច
|
||||
Name[kn]=ಅಪ್ರಮುಖ
|
||||
Name[ko]=부
|
||||
Name[lt]=Mažesnis
|
||||
Name[lv]=Mazais
|
||||
Name[mk]=Спореден
|
||||
Name[ml]=നിസാരം
|
||||
Name[mr]=लहान
|
||||
Name[nb]=Under
|
||||
Name[nds]=Siet
|
||||
Name[nl]=Onder
|
||||
Name[nn]=Del
|
||||
Name[pa]=ਮਾਈਨਰ
|
||||
Name[pl]=Podrzędny numer urządzenia
|
||||
Name[pt]=Nº Menor
|
||||
Name[pt_BR]=Menor
|
||||
Name[ro]=Minor
|
||||
Name[ru]=Младший номер (minor)
|
||||
Name[si]=සුළු
|
||||
Name[sk]=Minor
|
||||
Name[sl]=Mala
|
||||
Name[sr]=мали
|
||||
Name[sr@ijekavian]=мали
|
||||
Name[sr@ijekavianlatin]=mali
|
||||
Name[sr@latin]=mali
|
||||
Name[sv]=Delnummer
|
||||
Name[tg]=Moria
|
||||
Name[th]=หมายเลขรอง
|
||||
Name[tr]=Küçük
|
||||
Name[ug]=قوشۇمچە
|
||||
Name[uk]=Додатковий
|
||||
Name[wa]=Pitit
|
||||
Name[x-test]=xxMinorxx
|
||||
Name[zh_CN]=从号
|
||||
Name[zh_TW]=次要
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=device;major;minor;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Block
|
|
@ -1,281 +0,0 @@
|
|||
[Desktop Action hasState]
|
||||
Name=Has State
|
||||
Name[ar]=يملك حالة
|
||||
Name[ast]=Tien estáu
|
||||
Name[bs]=sa stanjem
|
||||
Name[ca]=Té estat
|
||||
Name[ca@valencia]=Té estat
|
||||
Name[cs]=Má stav
|
||||
Name[csb]=Mô stón
|
||||
Name[da]=Har tilstanden
|
||||
Name[de]=Hat den Status
|
||||
Name[el]=Έχει κατάσταση
|
||||
Name[en_GB]=Has State
|
||||
Name[eo]=Havas Staton
|
||||
Name[es]=Tiene estado
|
||||
Name[et]=Olekuga
|
||||
Name[eu]=Egoera dauka
|
||||
Name[fi]=On tilassa
|
||||
Name[fy]=Hat tastân
|
||||
Name[ga]=Staid Aige
|
||||
Name[gl]=Ten o estado
|
||||
Name[gu]=આમાં સ્થિતિ છે
|
||||
Name[he]=בעל מצב
|
||||
Name[hi]=स्तिथि है
|
||||
Name[hr]=Ima li stanje
|
||||
Name[hu]=Van állapota
|
||||
Name[ia]=Stato Has
|
||||
Name[id]=Memiliki Tingkat
|
||||
Name[is]=Er með stöðu
|
||||
Name[ja]=状態あり
|
||||
Name[kk]=Күй-жайы
|
||||
Name[km]=មានស្ថានភាព
|
||||
Name[kn]=ಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿದೆ
|
||||
Name[ko]=상태 여부
|
||||
Name[lt]=Būklė
|
||||
Name[lv]=Piemīt stāvoklis
|
||||
Name[mai]=स्थिति राखैत अछि
|
||||
Name[mk]=Има состојба
|
||||
Name[ml]=സ്ഥിതിയുണ്ട്
|
||||
Name[mr]=स्थिती आहे
|
||||
Name[nb]=Har tilstand
|
||||
Name[nds]=Hett en Status
|
||||
Name[nl]=Heeft status
|
||||
Name[nn]=Har status
|
||||
Name[pa]=ਹਾਲਤ ਹੈ
|
||||
Name[pl]=Ma stan
|
||||
Name[pt]=Tem o Estado
|
||||
Name[pt_BR]=Possui estado
|
||||
Name[ro]=Are stare
|
||||
Name[ru]=Переключатель
|
||||
Name[si]=තත්වයක් ඇත
|
||||
Name[sk]=Má stav
|
||||
Name[sl]=Ima stanje
|
||||
Name[sr]=има стање
|
||||
Name[sr@ijekavian]=има стање
|
||||
Name[sr@ijekavianlatin]=ima stanje
|
||||
Name[sr@latin]=ima stanje
|
||||
Name[sv]=Har tillstånd
|
||||
Name[tg]=Дорои ҳолат
|
||||
Name[th]=มีค่าสถานะ
|
||||
Name[tr]=Duruma Sahip
|
||||
Name[ug]=ھالەتلىك
|
||||
Name[uk]=Має стан
|
||||
Name[vi]=Có trạng thái
|
||||
Name[wa]=A l' estat
|
||||
Name[x-test]=xxHas Statexx
|
||||
Name[zh_CN]=有状态
|
||||
Name[zh_TW]=有狀態
|
||||
|
||||
[Desktop Action stateValue]
|
||||
Name=State Value
|
||||
Name[ar]=قيمة الحالة
|
||||
Name[ast]=Valor del estáu
|
||||
Name[bs]=vrijednost stanja
|
||||
Name[ca]=Valor de l'estat
|
||||
Name[ca@valencia]=Valor de l'estat
|
||||
Name[cs]=Hodnota stavu
|
||||
Name[da]=Tilstandsværdi
|
||||
Name[de]=Status-Wert
|
||||
Name[el]=Τιμή κατάστασης
|
||||
Name[en_GB]=State Value
|
||||
Name[eo]=Valuo de Stato
|
||||
Name[es]=Valor del estado
|
||||
Name[et]=Oleku väärtus
|
||||
Name[eu]=Egoeraren balioa
|
||||
Name[fi]=Tilan arvo
|
||||
Name[fy]=Tastân wearde
|
||||
Name[ga]=Luach na Staide
|
||||
Name[gl]=Valor do estado
|
||||
Name[gu]=સ્થિતિ કિંમત
|
||||
Name[he]=ערך מצב
|
||||
Name[hi]=स्थिति मान
|
||||
Name[hr]=Vrijednost stanja
|
||||
Name[hu]=Állapotérték
|
||||
Name[ia]=Valor de stato
|
||||
Name[id]=Nilai Tingkat
|
||||
Name[is]=Stöðugildi
|
||||
Name[ja]=状態の値
|
||||
Name[kk]=Мөлшері
|
||||
Name[km]=តម្លៃស្ថានភាព
|
||||
Name[kn]=ಸ್ಥಿತಿ ಮೌಲ್ಯ
|
||||
Name[ko]=상태 값
|
||||
Name[lt]=Būklės vertė
|
||||
Name[lv]=Stāvokļa vērtība
|
||||
Name[mk]=Вредност на состојба
|
||||
Name[ml]=അവസ്ഥാവില
|
||||
Name[mr]=स्थिती मूल्य
|
||||
Name[nb]=Tilstandsverdi
|
||||
Name[nds]=Statusweert
|
||||
Name[nl]=Statuswaarde
|
||||
Name[nn]=Statusverdi
|
||||
Name[pa]=ਹਾਲਤ ਮੁੱਲ
|
||||
Name[pl]=Wartość stanu
|
||||
Name[pt]=Valor do Estado
|
||||
Name[pt_BR]=Valor do estado
|
||||
Name[ro]=Valoarea stării
|
||||
Name[ru]=Значение состояния
|
||||
Name[si]=තත්ව අගය
|
||||
Name[sk]=Hodnota stavu
|
||||
Name[sl]=Vrednost stanja
|
||||
Name[sr]=вредност стања
|
||||
Name[sr@ijekavian]=вредност стања
|
||||
Name[sr@ijekavianlatin]=vrednost stanja
|
||||
Name[sr@latin]=vrednost stanja
|
||||
Name[sv]=Tillståndsvärde
|
||||
Name[tg]=Бозиҳои стратегӣ
|
||||
Name[th]=ค่าของสถานะ
|
||||
Name[tr]=Durum Değeri
|
||||
Name[ug]=ھالەت قىممىتى
|
||||
Name[uk]=Значення стану
|
||||
Name[wa]=Valixhance d' estat
|
||||
Name[x-test]=xxState Valuexx
|
||||
Name[zh_CN]=状态值
|
||||
Name[zh_TW]=狀態值
|
||||
|
||||
[Desktop Action type]
|
||||
Name=Type
|
||||
Name[ar]=النوع
|
||||
Name[ast]=Triba
|
||||
Name[bg]=Вид
|
||||
Name[bn]=ধরন
|
||||
Name[bs]=tip
|
||||
Name[ca]=Tipus
|
||||
Name[ca@valencia]=Tipus
|
||||
Name[cs]=Typ
|
||||
Name[csb]=Ôrt
|
||||
Name[da]=Type
|
||||
Name[de]=Typ
|
||||
Name[el]=Τύπος
|
||||
Name[en_GB]=Type
|
||||
Name[eo]=Tipo
|
||||
Name[es]=Tipo
|
||||
Name[et]=Tüüp
|
||||
Name[eu]=Mota
|
||||
Name[fa]=نوع
|
||||
Name[fi]=Tyyppi
|
||||
Name[fr]=Type
|
||||
Name[fy]=Type
|
||||
Name[ga]=Cineál
|
||||
Name[gl]=Tipo
|
||||
Name[gu]=પ્રકાર
|
||||
Name[he]=סוג
|
||||
Name[hi]=प्रकार
|
||||
Name[hr]=Tip
|
||||
Name[hu]=Típus
|
||||
Name[ia]=Typo
|
||||
Name[id]=Tipe
|
||||
Name[is]=Tegund
|
||||
Name[it]=Tipo
|
||||
Name[ja]=タイプ
|
||||
Name[ka]=ტიპი
|
||||
Name[kk]=Түрі
|
||||
Name[km]=ប្រភេទ
|
||||
Name[kn]=ಬಗೆ
|
||||
Name[ko]=종류
|
||||
Name[lt]=Tipas
|
||||
Name[lv]=Tips
|
||||
Name[mai]=प्रकार
|
||||
Name[mk]=Тип
|
||||
Name[ml]=തരം
|
||||
Name[mr]=प्रकार
|
||||
Name[nb]=Type
|
||||
Name[nds]=Typ
|
||||
Name[nl]=Type
|
||||
Name[nn]=Type
|
||||
Name[pa]=ਕਿਸਮ
|
||||
Name[pl]=Typ
|
||||
Name[pt]=Tipo
|
||||
Name[pt_BR]=Tipo
|
||||
Name[ro]=Tip
|
||||
Name[ru]=Тип
|
||||
Name[si]=වර්ගය
|
||||
Name[sk]=Typ
|
||||
Name[sl]=Vrsta
|
||||
Name[sr]=тип
|
||||
Name[sr@ijekavian]=тип
|
||||
Name[sr@ijekavianlatin]=tip
|
||||
Name[sr@latin]=tip
|
||||
Name[sv]=Typ
|
||||
Name[tg]=Намуд
|
||||
Name[th]=ประเภท
|
||||
Name[tr]=Tip
|
||||
Name[ug]=تىپى
|
||||
Name[uk]=Тип
|
||||
Name[wa]=Sôre
|
||||
Name[x-test]=xxTypexx
|
||||
Name[zh_CN]=类型
|
||||
Name[zh_TW]=類型
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=hasState;stateValue;type;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Button
|
|
@ -1,215 +0,0 @@
|
|||
[Desktop Action supportedDrivers]
|
||||
Name=Supported Drivers
|
||||
Name[ar]=المشغلات المدعومة
|
||||
Name[ast]=Controladores sofitaos
|
||||
Name[bg]=Поддържани драйвери
|
||||
Name[bn]=সমর্থিত ড্রাইভার
|
||||
Name[bs]=podržani drajveri
|
||||
Name[ca]=Controladors acceptats
|
||||
Name[ca@valencia]=Controladors acceptats
|
||||
Name[cs]=Podporované ovladače
|
||||
Name[csb]=Wspiéróné czérowniczi
|
||||
Name[da]=Understøttede drivere
|
||||
Name[de]=Unterstützte Treiber
|
||||
Name[el]=Υποστηριζόμενοι οδηγοί
|
||||
Name[en_GB]=Supported Drivers
|
||||
Name[eo]=subtenataj Peliloj
|
||||
Name[es]=Dispositivos soportados
|
||||
Name[et]=Toetatud draiverid
|
||||
Name[eu]=Onartutzen diren gidariak
|
||||
Name[fi]=Tuetut ajurit
|
||||
Name[fr]=Pilotes pris en charge
|
||||
Name[fy]=Stipe stjoerprogramma's
|
||||
Name[ga]=Tiománaithe a dTacaítear Leo
|
||||
Name[gl]=Controladores soportados
|
||||
Name[gu]=આધારિત ડ્રાઇવરો
|
||||
Name[he]=מנהלי התקנים נתמכים
|
||||
Name[hi]=समर्थित ड्राईवर
|
||||
Name[hr]=Podržani pisači
|
||||
Name[hu]=Támogatott meghajtók
|
||||
Name[ia]=Drivers supportate
|
||||
Name[id]=Penggerak Didukung
|
||||
Name[is]=Studdir reklar
|
||||
Name[it]=Driver supportati
|
||||
Name[ja]=サポートされているドライバ
|
||||
Name[kk]=Қолдайтын драйверлері
|
||||
Name[km]=កម្មវិធីបញ្ជាដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಚಾಲಕಗಳು
|
||||
Name[ko]=지원하는 드라이버
|
||||
Name[lt]=Palaikomos tvarkyklės
|
||||
Name[lv]=Atbalstītie draiveri
|
||||
Name[mai]=समर्थित ड्राइवर
|
||||
Name[mk]=Поддржани управувачи
|
||||
Name[ml]=പിന്തുണയുള്ള സാരഥികള്
|
||||
Name[mr]=समर्थीत ड्राइव्हर्स
|
||||
Name[nb]=Støttede drivere
|
||||
Name[nds]=Ünnerstütt Drievers
|
||||
Name[nl]=Ondersteunde stuurprogramma's
|
||||
Name[nn]=Støtta drivarar
|
||||
Name[pa]=ਸਹਾਇਕ ਡਰਾਇਵਰ
|
||||
Name[pl]=Obsługiwane sterowniki
|
||||
Name[pt]=Controladores Suportados
|
||||
Name[pt_BR]=Drivers suportados
|
||||
Name[ro]=Drivere susținute
|
||||
Name[ru]=Поддерживаемые драйверы
|
||||
Name[si]=සහාය දක්වන ධාවක
|
||||
Name[sk]=Podporované ovládače
|
||||
Name[sl]=Podprti gonilniki
|
||||
Name[sr]=подржани драјвери
|
||||
Name[sr@ijekavian]=подржани драјвери
|
||||
Name[sr@ijekavianlatin]=podržani drajveri
|
||||
Name[sr@latin]=podržani drajveri
|
||||
Name[sv]=Drivrutiner som stöds
|
||||
Name[tg]=Дастгоҳҳои мувофиқ
|
||||
Name[th]=ไดรเวอร์ที่รองรับ
|
||||
Name[tr]=Desteklenen Sürücüler
|
||||
Name[ug]=قوللايدىغان قوزغاتقۇلار
|
||||
Name[uk]=Підтримувані драйвери
|
||||
Name[wa]=Mineus sopoirtés
|
||||
Name[x-test]=xxSupported Driversxx
|
||||
Name[zh_CN]=支持的驱动
|
||||
Name[zh_TW]=支援的驅動程式
|
||||
|
||||
[Desktop Action supportedProtocols]
|
||||
Name=Supported Protocols
|
||||
Name[ar]=البروتوكولات المدعومة
|
||||
Name[ast]=Protocolos sofitaos
|
||||
Name[bg]=Поддържани протоколи
|
||||
Name[bn]=সমর্থিত প্রোটোকল
|
||||
Name[bs]=podržani protokoli
|
||||
Name[ca]=Protocols acceptats
|
||||
Name[ca@valencia]=Protocols acceptats
|
||||
Name[cs]=Podporované protokoly
|
||||
Name[csb]=Wspiéróné protokòłë
|
||||
Name[da]=Understøttede protokoller
|
||||
Name[de]=Unterstützte Protokolle
|
||||
Name[el]=Υποστηριζόμενα πρωτόκολλα
|
||||
Name[en_GB]=Supported Protocols
|
||||
Name[eo]=Subtenitaj Protokoloj
|
||||
Name[es]=Protocolos soportados
|
||||
Name[et]=Toetatud protokollid
|
||||
Name[eu]=Onartzen diren protokoloak
|
||||
Name[fi]=Tuetut yhteyskäytännöt
|
||||
Name[fr]=Protocoles pris en charge
|
||||
Name[fy]=Stipe protokollen
|
||||
Name[ga]=Prótacail a dTacaítear Leo
|
||||
Name[gl]=Protocolos soportados
|
||||
Name[gu]=આધારિત પ્રોટોકોલ્સ
|
||||
Name[he]=פרוטוקולים נתמכים
|
||||
Name[hi]=समर्थित प्रोटोकॉल
|
||||
Name[hr]=Podržani Protokoli
|
||||
Name[hu]=Támogatott protokollok
|
||||
Name[ia]=Protocollos supportate
|
||||
Name[id]=Protokol Didukung
|
||||
Name[is]=Studdar samskiptareglur
|
||||
Name[it]=Protocolli supportati
|
||||
Name[ja]=サポートされているプロトコル
|
||||
Name[kk]=Қолдайтын протоколдары
|
||||
Name[km]=ពិពីការដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಪ್ರಕ್ರಮಗಳು (ಪ್ರೋಟೋಕಾಲ್)
|
||||
Name[ko]=지원하는 프로토콜
|
||||
Name[lt]=Palaikomi protokolai
|
||||
Name[lv]=Atbalstītie protokoli
|
||||
Name[mk]=Поддржани протоколи
|
||||
Name[ml]=പിന്തുണയ്ക്കുന്ന സമ്പ്രദായങ്ങള്
|
||||
Name[mr]=समर्थीत शिष्टाचार
|
||||
Name[nb]=Støttede protokoller
|
||||
Name[nds]=Ünnerstütt Protokollen
|
||||
Name[nl]=Ondersteunde protocollen
|
||||
Name[nn]=Støtta protokollar
|
||||
Name[pa]=ਸਹਾਇਕ ਪਰੋਟੋਕਾਲ
|
||||
Name[pl]=Obsługiwane protokoły
|
||||
Name[pt]=Protocolos Suportados
|
||||
Name[pt_BR]=Protocolos suportados
|
||||
Name[ro]=Protocoale susținute
|
||||
Name[ru]=Поддерживаемые протоколы
|
||||
Name[si]=සහාය දක්වන ක්රියා පටිපාටි
|
||||
Name[sk]=Podporované protokoly
|
||||
Name[sl]=Podprti protokoli
|
||||
Name[sr]=подржани протоколи
|
||||
Name[sr@ijekavian]=подржани протоколи
|
||||
Name[sr@ijekavianlatin]=podržani protokoli
|
||||
Name[sr@latin]=podržani protokoli
|
||||
Name[sv]=Protokoll som stöds
|
||||
Name[tg]=Протоколҳо
|
||||
Name[th]=โพรโทคอลที่รองรับ
|
||||
Name[tr]=Desteklenen Protokoller
|
||||
Name[ug]=قوللايدىغان كېلىشىملەر
|
||||
Name[uk]=Підтримувані протоколи
|
||||
Name[wa]=Protocoles sopoirtés
|
||||
Name[x-test]=xxSupported Protocolsxx
|
||||
Name[zh_CN]=支持的协议
|
||||
Name[zh_TW]=支援的協定
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=supportedDrivers;supportedProtocols;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Camera
|
|
@ -1,146 +0,0 @@
|
|||
[Desktop Action driver]
|
||||
Name=Driver
|
||||
Name[ar]=المشغل
|
||||
Name[ast]=Controlador
|
||||
Name[bg]=Драйвер
|
||||
Name[bn]=ড্রাইভার
|
||||
Name[bs]=drajver
|
||||
Name[ca]=Controlador
|
||||
Name[ca@valencia]=Controlador
|
||||
Name[cs]=Ovladač
|
||||
Name[csb]=Czérownik
|
||||
Name[da]=Driver
|
||||
Name[de]=Treiber
|
||||
Name[el]=Οδηγός
|
||||
Name[en_GB]=Driver
|
||||
Name[eo]=Pelilo
|
||||
Name[es]=Controlador
|
||||
Name[et]=Draiver
|
||||
Name[eu]=Gidaria
|
||||
Name[fa]=گرداننده
|
||||
Name[fi]=Ajuri
|
||||
Name[fr]=Pilote
|
||||
Name[fy]=Stjoerprogramma
|
||||
Name[ga]=Tiománaí
|
||||
Name[gl]=Controlador
|
||||
Name[gu]=ડ્રાઇવર
|
||||
Name[he]=מנהל התקן
|
||||
Name[hi]=ड्राईवर
|
||||
Name[hr]=Pogonski program
|
||||
Name[hu]=Meghajtó
|
||||
Name[ia]=Driver
|
||||
Name[id]=Penggerak
|
||||
Name[is]=Rekill
|
||||
Name[ja]=ドライバ
|
||||
Name[ka]=დრაივერი
|
||||
Name[kk]=Драйвері
|
||||
Name[km]=កម្មវិធីបញ្ជា
|
||||
Name[kn]=ಚಾಲಕ
|
||||
Name[ko]=드라이버
|
||||
Name[lt]=Tvarkyklė
|
||||
Name[lv]=Draiveris
|
||||
Name[mai]=ड्राइवर
|
||||
Name[mk]=Управувач
|
||||
Name[ml]=സാരഥി
|
||||
Name[mr]=ड्राइव्हर
|
||||
Name[nb]=Driver
|
||||
Name[nds]=Driever
|
||||
Name[nl]=Stuurprogramma
|
||||
Name[nn]=Drivar
|
||||
Name[pa]=ਡਰਾਇਵਰ
|
||||
Name[pl]=Sterownik
|
||||
Name[pt]=Controlador
|
||||
Name[pt_BR]=Driver
|
||||
Name[ro]=Driver
|
||||
Name[ru]=Драйвер
|
||||
Name[si]=ධාවකය
|
||||
Name[sk]=Ovládač
|
||||
Name[sl]=Gonilnik
|
||||
Name[sr]=драјвер
|
||||
Name[sr@ijekavian]=драјвер
|
||||
Name[sr@ijekavianlatin]=drajver
|
||||
Name[sr@latin]=drajver
|
||||
Name[sv]=Drivrutin
|
||||
Name[tg]=Драйвер
|
||||
Name[th]=ไดรเวอร์
|
||||
Name[tr]=Sürücü
|
||||
Name[ug]=قوزغاتقۇ
|
||||
Name[uk]=Драйвер
|
||||
Name[vi]=Trình điều khiển
|
||||
Name[wa]=Mineu
|
||||
Name[x-test]=xxDriverxx
|
||||
Name[zh_CN]=驱动
|
||||
Name[zh_TW]=驅動程式
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=driver;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Graphic
|
|
@ -1,149 +0,0 @@
|
|||
[Desktop Action driver]
|
||||
Name=Driver
|
||||
Name[ar]=المشغل
|
||||
Name[ast]=Controlador
|
||||
Name[bg]=Драйвер
|
||||
Name[bn]=ড্রাইভার
|
||||
Name[bs]=drajver
|
||||
Name[ca]=Controlador
|
||||
Name[ca@valencia]=Controlador
|
||||
Name[cs]=Ovladač
|
||||
Name[csb]=Czérownik
|
||||
Name[da]=Driver
|
||||
Name[de]=Treiber
|
||||
Name[el]=Οδηγός
|
||||
Name[en_GB]=Driver
|
||||
Name[eo]=Pelilo
|
||||
Name[es]=Controlador
|
||||
Name[et]=Draiver
|
||||
Name[eu]=Gidaria
|
||||
Name[fa]=گرداننده
|
||||
Name[fi]=Ajuri
|
||||
Name[fr]=Pilote
|
||||
Name[fy]=Stjoerprogramma
|
||||
Name[ga]=Tiománaí
|
||||
Name[gl]=Controlador
|
||||
Name[gu]=ડ્રાઇવર
|
||||
Name[he]=מנהל התקן
|
||||
Name[hi]=ड्राईवर
|
||||
Name[hr]=Pogonski program
|
||||
Name[hu]=Meghajtó
|
||||
Name[ia]=Driver
|
||||
Name[id]=Penggerak
|
||||
Name[is]=Rekill
|
||||
Name[ja]=ドライバ
|
||||
Name[ka]=დრაივერი
|
||||
Name[kk]=Драйвері
|
||||
Name[km]=កម្មវិធីបញ្ជា
|
||||
Name[kn]=ಚಾಲಕ
|
||||
Name[ko]=드라이버
|
||||
Name[lt]=Tvarkyklė
|
||||
Name[lv]=Draiveris
|
||||
Name[mai]=ड्राइवर
|
||||
Name[mk]=Управувач
|
||||
Name[ml]=സാരഥി
|
||||
Name[mr]=ड्राइव्हर
|
||||
Name[nb]=Driver
|
||||
Name[nds]=Driever
|
||||
Name[nl]=Stuurprogramma
|
||||
Name[nn]=Drivar
|
||||
Name[pa]=ਡਰਾਇਵਰ
|
||||
Name[pl]=Sterownik
|
||||
Name[pt]=Controlador
|
||||
Name[pt_BR]=Driver
|
||||
Name[ro]=Driver
|
||||
Name[ru]=Драйвер
|
||||
Name[si]=ධාවකය
|
||||
Name[sk]=Ovládač
|
||||
Name[sl]=Gonilnik
|
||||
Name[sr]=драјвер
|
||||
Name[sr@ijekavian]=драјвер
|
||||
Name[sr@ijekavianlatin]=drajver
|
||||
Name[sr@latin]=drajver
|
||||
Name[sv]=Drivrutin
|
||||
Name[tg]=Драйвер
|
||||
Name[th]=ไดรเวอร์
|
||||
Name[tr]=Sürücü
|
||||
Name[ug]=قوزغاتقۇ
|
||||
Name[uk]=Драйвер
|
||||
Name[vi]=Trình điều khiển
|
||||
Name[wa]=Mineu
|
||||
Name[x-test]=xxDriverxx
|
||||
Name[zh_CN]=驱动
|
||||
Name[zh_TW]=驅動程式
|
||||
|
||||
[Desktop Action inputType]
|
||||
Name=Input Type
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=driver;inputType;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Input
|
|
@ -1,363 +0,0 @@
|
|||
[Desktop Action hwAddress]
|
||||
Name=Hw Address
|
||||
Name[ar]=عنوان العتاد
|
||||
Name[ast]=Direición HW
|
||||
Name[bg]=Хардуерен адрес
|
||||
Name[bn]=Hw অ্যাড্রেস
|
||||
Name[bs]=hv. adresa
|
||||
Name[ca]=Adreça maquinari
|
||||
Name[ca@valencia]=Adreça maquinari
|
||||
Name[cs]=Hw adresa
|
||||
Name[csb]=Adresa Hw
|
||||
Name[da]=HW-adresse
|
||||
Name[de]=HW-Adresse
|
||||
Name[el]=Διεύθυνση Hw
|
||||
Name[en_GB]=Hw Address
|
||||
Name[eo]=Hw Adreso
|
||||
Name[es]=Dirección HW
|
||||
Name[et]=Riistvara-aadress
|
||||
Name[eu]=HW helbidea
|
||||
Name[fi]=Rautaosoite
|
||||
Name[fr]=Adresse matérielle
|
||||
Name[fy]=Hw adres
|
||||
Name[ga]=Seoladh Crua-Earraí
|
||||
Name[gl]=Enderezo hardware
|
||||
Name[gu]=હાર્ડવેર સરનામું
|
||||
Name[he]=כתובת חומרה
|
||||
Name[hi]=हार्डवेयर पता
|
||||
Name[hr]=Hardverska adresa
|
||||
Name[hu]=Hardveres cím
|
||||
Name[ia]=Adresse Hw
|
||||
Name[id]=Alamat Peranti Keras
|
||||
Name[is]=HW vistfang
|
||||
Name[ja]=HW アドレス
|
||||
Name[kk]=Жабд. адресі
|
||||
Name[km]=អាសយដ្ឋាន Hw
|
||||
Name[kn]=Hw ವಿಳಾಸ
|
||||
Name[ko]=하드웨어 주소
|
||||
Name[lt]=Aparatinis adresas
|
||||
Name[lv]=Hw adrese
|
||||
Name[mai]=Hw पता
|
||||
Name[mk]=Адреса на хардвер
|
||||
Name[ml]=എച്ച്ഡബ്ല്യൂ വിലാസം
|
||||
Name[mr]=Hw पत्ता
|
||||
Name[nb]=Hw-adresse
|
||||
Name[nds]=Hardware-Adress
|
||||
Name[nl]=HW-adres
|
||||
Name[nn]=Maskinvareadresse
|
||||
Name[pa]=Hw ਐਡਰੈੱਸ
|
||||
Name[pl]=Adres sprzętowy
|
||||
Name[pt]=Endereço de H/W
|
||||
Name[pt_BR]=Endereço de hardware
|
||||
Name[ro]=Adresă fizică
|
||||
Name[ru]=Аппаратный адрес
|
||||
Name[si]=Hw ලිපිනය
|
||||
Name[sk]=Hw adresa
|
||||
Name[sl]=Strojni naslov
|
||||
Name[sr]=хв. адреса
|
||||
Name[sr@ijekavian]=хв. адреса
|
||||
Name[sr@ijekavianlatin]=hv. adresa
|
||||
Name[sr@latin]=hv. adresa
|
||||
Name[sv]=Hårdvaruadress
|
||||
Name[tg]=Суроғаи Hw
|
||||
Name[th]=ที่อยู่ฮาร์ดแวร์
|
||||
Name[tr]=Donanım Adresi
|
||||
Name[ug]=قاتتىق دېتال ئادرېسى
|
||||
Name[uk]=Апар. адреса
|
||||
Name[vi]=Địa chỉ phần cứng
|
||||
Name[wa]=Adresse Hw
|
||||
Name[x-test]=xxHw Addressxx
|
||||
Name[zh_CN]=硬件地址
|
||||
Name[zh_TW]=硬體位址
|
||||
|
||||
[Desktop Action ifaceName]
|
||||
Name=Iface Name
|
||||
Name[ar]=اسم الواجهة
|
||||
Name[ast]=Nome d'interface
|
||||
Name[bg]=Име на интерфейс
|
||||
Name[bn]=Iface-এর নাম
|
||||
Name[bs]=ime sučelja
|
||||
Name[ca]=Nom d'interfície
|
||||
Name[ca@valencia]=Nom d'interfície
|
||||
Name[cs]=Název rozhraní
|
||||
Name[csb]=Miono Iface
|
||||
Name[da]=Navn på grænseflade
|
||||
Name[de]=Schnittstellen-Name
|
||||
Name[el]=Όνομα Iface
|
||||
Name[en_GB]=Iface Name
|
||||
Name[eo]=Iface Nomo
|
||||
Name[es]=Nombre de interfaz
|
||||
Name[et]=Liidese nimi
|
||||
Name[eu]=Interfaze-izena
|
||||
Name[fi]=Verkkoliitynnän nimi
|
||||
Name[fr]=Nom « Iface »
|
||||
Name[fy]=Iface namme
|
||||
Name[ga]=Ainm an Chomhéadain
|
||||
Name[gl]=Nome da interface
|
||||
Name[gu]=ઇન્ટરફેસ નામ
|
||||
Name[he]=שם Iface
|
||||
Name[hi]=Iface नाम
|
||||
Name[hr]=Ime sučelja
|
||||
Name[hu]=Felületnév
|
||||
Name[ia]=Nomine Iface
|
||||
Name[id]=Nama Antarmuka
|
||||
Name[is]=IFACE nafn
|
||||
Name[ja]=インターフェース名
|
||||
Name[kk]=И-фейс атауы
|
||||
Name[km]=ឈ្មោះ Iface
|
||||
Name[kn]=Iface ಹೆಸರು
|
||||
Name[ko]=인터페이스 이름
|
||||
Name[lt]=Sąsajos pavadinimas
|
||||
Name[lv]=Sask. nosaukums
|
||||
Name[mk]=Име на интерфејс
|
||||
Name[ml]=ഐഫേസിന്റെ പേരു്
|
||||
Name[mr]=Iface नाव
|
||||
Name[nb]=G.snitt-navn
|
||||
Name[nds]=Koppelsteed-Naam
|
||||
Name[nl]=Iface-naam
|
||||
Name[nn]=Grensesnittnamn
|
||||
Name[pa]=Iface ਨਾਂ
|
||||
Name[pl]=Nazwa interfejsu
|
||||
Name[pt]=Nome da Interface
|
||||
Name[pt_BR]=Nome da interface
|
||||
Name[ro]=Denumire interfață
|
||||
Name[ru]=Название интерфейса
|
||||
Name[si]=Iface නාමය
|
||||
Name[sk]=Názov rozhrania
|
||||
Name[sl]=Ime vmesnika
|
||||
Name[sr]=име сучеља
|
||||
Name[sr@ijekavian]=име сучеља
|
||||
Name[sr@ijekavianlatin]=ime sučelja
|
||||
Name[sr@latin]=ime sučelja
|
||||
Name[sv]=Gränssnittsnamn
|
||||
Name[tg]=Бозиҳои Dice
|
||||
Name[th]=ชื่อส่วนติดต่อ
|
||||
Name[tr]=Iface Adı
|
||||
Name[ug]=ئارايۈز ئاتى
|
||||
Name[uk]=Назва Iface
|
||||
Name[vi]=Tên Iface
|
||||
Name[wa]=No Iface
|
||||
Name[x-test]=xxIface Namexx
|
||||
Name[zh_CN]=接口名称
|
||||
Name[zh_TW]=介面名稱
|
||||
|
||||
[Desktop Action macAddress]
|
||||
Name=Mac Address
|
||||
Name[ar]=عنوان Mac
|
||||
Name[ast]=Direición MAC
|
||||
Name[bg]=МАС-адрес
|
||||
Name[bn]=ম্যাক অ্যাড্রেস
|
||||
Name[bs]=MAC adresa
|
||||
Name[ca]=Adreça MAC
|
||||
Name[ca@valencia]=Adreça MAC
|
||||
Name[cs]=Mac adresa
|
||||
Name[csb]=Adresa Mac
|
||||
Name[da]=MAC-adresse
|
||||
Name[de]=MAC-Adresse
|
||||
Name[el]=Διεύθυνση MAC
|
||||
Name[en_GB]=Mac Address
|
||||
Name[eo]=Maŝinadreso
|
||||
Name[es]=Dirección MAC
|
||||
Name[et]=MAC-aadress
|
||||
Name[eu]=MAC helbidea
|
||||
Name[fi]=Mac-osoite
|
||||
Name[fr]=Adresse « Mac »
|
||||
Name[fy]=Mac adres
|
||||
Name[ga]=Seoladh MAC
|
||||
Name[gl]=Enderezo MAC
|
||||
Name[gu]=મેક સરનામું
|
||||
Name[he]=כתובת MAC
|
||||
Name[hi]=मेक पता
|
||||
Name[hr]=MAC adresa
|
||||
Name[hu]=MAC cím
|
||||
Name[ia]=Adresse Mac
|
||||
Name[id]=Alamat Mac
|
||||
Name[is]=MAC vistfang
|
||||
Name[ja]=Mac アドレス
|
||||
Name[ka]=MAC მისამართი
|
||||
Name[kk]=Mac адресі
|
||||
Name[km]=អាសយដ្ឋាន Mac
|
||||
Name[kn]=ಮ್ಯಾಕ್ ವಿಳಾಸ
|
||||
Name[ko]=MAC 주소
|
||||
Name[lt]=Mac adresas
|
||||
Name[lv]=Mac adrese
|
||||
Name[mai]=Mac पता
|
||||
Name[mk]=Mac-адреса
|
||||
Name[ml]=മാക് വിലാസം
|
||||
Name[mr]=Mac पत्ता
|
||||
Name[nb]=MAC-adresse
|
||||
Name[nds]=Mac-Adress
|
||||
Name[nl]=MAC-adres
|
||||
Name[nn]=MAC-adresse
|
||||
Name[pa]=ਮੈਕ ਐਡਰੈੱਸ
|
||||
Name[pl]=Adres Mac
|
||||
Name[pt]=Endereço MAC
|
||||
Name[pt_BR]=Endereço MAC
|
||||
Name[ro]=Adresă MAC
|
||||
Name[ru]=MAC-адрес
|
||||
Name[si]=මැක් ලිපිනය
|
||||
Name[sk]=Mac adresa
|
||||
Name[sl]=Naslov MAC
|
||||
Name[sr]=МАЦ адреса
|
||||
Name[sr@ijekavian]=МАЦ адреса
|
||||
Name[sr@ijekavianlatin]=MAC adresa
|
||||
Name[sr@latin]=MAC adresa
|
||||
Name[sv]=MAC-adress
|
||||
Name[tg]=Суроғаи Mac
|
||||
Name[th]=ค่าที่อยู่ Mac
|
||||
Name[tr]=Mac Adresi
|
||||
Name[ug]=MAC ئادرېس
|
||||
Name[uk]=Mac-адреса
|
||||
Name[vi]=Địa chỉ Mac
|
||||
Name[wa]=Adresse Mac
|
||||
Name[x-test]=xxMac Addressxx
|
||||
Name[zh_CN]=Mac 地址
|
||||
Name[zh_TW]=Mac 位址
|
||||
|
||||
[Desktop Action wireless]
|
||||
Name=Wireless
|
||||
Name[ar]=لاسلكي
|
||||
Name[ast]=Inalámbricu
|
||||
Name[bg]=Безжична мрежа
|
||||
Name[bn]=ওয়্যারলেস
|
||||
Name[bs]=bežična
|
||||
Name[ca]=Xarxa sense fils
|
||||
Name[ca@valencia]=Xarxa sense fils
|
||||
Name[cs]=Bezdrátové
|
||||
Name[csb]=Bezkablowé
|
||||
Name[da]=Trådløst
|
||||
Name[de]=Drahtlos
|
||||
Name[el]=Ασύρματο
|
||||
Name[en_GB]=Wireless
|
||||
Name[eo]=Sendrata reto
|
||||
Name[es]=Inalámbrico
|
||||
Name[et]=Juhtmeta
|
||||
Name[eu]=Haririk gabea
|
||||
Name[fa]=بیسیم
|
||||
Name[fi]=Langaton
|
||||
Name[fr]=Sans fil
|
||||
Name[fy]=Triedleas
|
||||
Name[ga]=Gan Sreang
|
||||
Name[gl]=Sen fíos
|
||||
Name[gu]=વાયરલેસ
|
||||
Name[he]=אלחוטי
|
||||
Name[hi]=बेतार
|
||||
Name[hr]=Bežićna
|
||||
Name[hu]=Vezeték nélküli
|
||||
Name[ia]=Wireless (Sin Cablos)
|
||||
Name[id]=Nirkabel
|
||||
Name[is]=Þráðlaust
|
||||
Name[ja]=ワイヤレス
|
||||
Name[ka]=უმავთულო კავშირი
|
||||
Name[kk]=Сымсыз
|
||||
Name[km]=ឥតខ្សែ
|
||||
Name[kn]=ವೈರ್ಲೆಸ್
|
||||
Name[ko]=무선
|
||||
Name[lt]=Bevielis
|
||||
Name[lv]=Bezvadu
|
||||
Name[mk]=Бежичен
|
||||
Name[ml]=വയര്ലസ്സ്
|
||||
Name[mr]=वायरलेस
|
||||
Name[nb]=Trådløs
|
||||
Name[nds]=Funk
|
||||
Name[nl]=Draadloos
|
||||
Name[nn]=Trådlaust
|
||||
Name[pa]=ਬੇਤਾਰ
|
||||
Name[pl]=Bezprzewodowy
|
||||
Name[pt]=Sem-Fios
|
||||
Name[pt_BR]=Sem fio
|
||||
Name[ro]=Fără fir
|
||||
Name[ru]=Беспроводная сеть
|
||||
Name[si]=රැහැන් රහිත
|
||||
Name[sk]=Bezdrôtové
|
||||
Name[sl]=Brezžično
|
||||
Name[sr]=бежична
|
||||
Name[sr@ijekavian]=бежична
|
||||
Name[sr@ijekavianlatin]=bežična
|
||||
Name[sr@latin]=bežična
|
||||
Name[sv]=Trådlöst
|
||||
Name[tg]=Бесимӣ
|
||||
Name[th]=อุปกรณ์ไร้สาย
|
||||
Name[tr]=Kablosuz
|
||||
Name[ug]=سىمسىز
|
||||
Name[uk]=Бездротове
|
||||
Name[wa]=Sins fyi
|
||||
Name[x-test]=xxWirelessxx
|
||||
Name[zh_CN]=无线
|
||||
Name[zh_TW]=無線
|
||||
|
||||
[Desktop Action loopback]
|
||||
Name=Loopback
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=hwAddress;ifaceName;macAddress;wireless;loopback;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=NetworkInterface
|
|
@ -1,941 +0,0 @@
|
|||
[Desktop Action appendable]
|
||||
Name=Appendable
|
||||
Name[ar]=قابل للإضافة
|
||||
Name[ast]=Pue amestase
|
||||
Name[bg]=Незавършен диск
|
||||
Name[bn]=যোগ করা যাবে
|
||||
Name[bs]=dopisiv
|
||||
Name[ca]=Afegible
|
||||
Name[ca@valencia]=Afegible
|
||||
Name[cs]=Připojitelný
|
||||
Name[csb]=Dodôwny
|
||||
Name[da]=Data kan tilføjes
|
||||
Name[de]=Anhängbar
|
||||
Name[el]=Προσαρτήσιμο
|
||||
Name[en_GB]=Appendable
|
||||
Name[eo]=Aldonebla
|
||||
Name[es]=Se puede añadir
|
||||
Name[et]=Lisatav
|
||||
Name[eu]=Gehi dakiokeena
|
||||
Name[fi]=Liitettävä
|
||||
Name[fr]=Opposable
|
||||
Name[fy]=Kin taheakje
|
||||
Name[ga]=In-iarcheangailte
|
||||
Name[gl]=Poden engadírselle datos
|
||||
Name[gu]=ઉમેરી શકાય તેવું
|
||||
Name[he]=ניתן להוסיף עליו
|
||||
Name[hi]=संल्गनक
|
||||
Name[hr]=Može se dodavati
|
||||
Name[hu]=Hozzáfűzhető
|
||||
Name[ia]=On pote adjunger
|
||||
Name[id]=Dapat Ditambahkan
|
||||
Name[is]=Hægt að bæta við
|
||||
Name[it]=Aggiungibile
|
||||
Name[ja]=追記可能
|
||||
Name[kk]=Жалғасулы
|
||||
Name[km]=អាចបន្ថែមខាងចុងបាន
|
||||
Name[kn]=ಸೇರಿಸಬಹುದಾದ
|
||||
Name[ko]=추가 가능
|
||||
Name[lt]=Pridedamas
|
||||
Name[lv]=Papildināms
|
||||
Name[ml]=വീണ്ടും എഴുതാവുന്നതു്
|
||||
Name[mr]=जोडता येण्याजोगे
|
||||
Name[nb]=Har plass igjen
|
||||
Name[nds]=Nich afslaten
|
||||
Name[nl]=Uitbreidbaar
|
||||
Name[nn]=Tilleggbar
|
||||
Name[pa]=ਜੋੜਨਯੋਗ
|
||||
Name[pl]=Z możliwością dopisywania
|
||||
Name[pt]=Adicionável
|
||||
Name[pt_BR]=Anexável
|
||||
Name[ro]=Completabil
|
||||
Name[ru]=Дозаписываемый
|
||||
Name[si]=ඇමිණිය හැකි
|
||||
Name[sk]=Doplniteľné
|
||||
Name[sl]=Dodajanje je mogoče
|
||||
Name[sr]=дописив
|
||||
Name[sr@ijekavian]=дописив
|
||||
Name[sr@ijekavianlatin]=dopisiv
|
||||
Name[sr@latin]=dopisiv
|
||||
Name[sv]=Tilläggbar
|
||||
Name[tg]=Намуди зоҳирӣ
|
||||
Name[th]=สามารถเขียนเพิ่มเติมได้
|
||||
Name[tr]=Eklenebilir
|
||||
Name[ug]=قوشۇشقا بولىدۇ
|
||||
Name[uk]=Додавання
|
||||
Name[vi]=Có thể ghi thêm
|
||||
Name[wa]=Adjoutåve
|
||||
Name[x-test]=xxAppendablexx
|
||||
Name[zh_CN]=可追加
|
||||
Name[zh_TW]=可附加
|
||||
|
||||
[Desktop Action availableContent]
|
||||
Name=Available Content
|
||||
Name[ar]=المحتويات المتوفرة
|
||||
Name[ast]=Conteníu disponible
|
||||
Name[bg]=Налично съдържание
|
||||
Name[bn]=পাওয়া যাচ্ছে
|
||||
Name[bs]=dostupan sadržaj
|
||||
Name[ca]=Contingut disponible
|
||||
Name[ca@valencia]=Contingut disponible
|
||||
Name[cs]=Dostupný obsah
|
||||
Name[csb]=Przëstãpnô zamkłosc
|
||||
Name[da]=Tilgængeligt indhold
|
||||
Name[de]=Verfügbarer Inhalt
|
||||
Name[el]=Διαθέσιμο περιεχόμενο
|
||||
Name[en_GB]=Available Content
|
||||
Name[eo]=Havebla Enhavo
|
||||
Name[es]=Contenido disponible
|
||||
Name[et]=Sisuga
|
||||
Name[eu]=Eduki eskuragarria
|
||||
Name[fi]=Käytettävissä oleva sisältö
|
||||
Name[fr]=Contenu disponible
|
||||
Name[fy]=Beskikbere ynhâld
|
||||
Name[ga]=Ábhar Le Fáil
|
||||
Name[gl]=Contido dispoñíbel
|
||||
Name[gu]=પ્રાપ્ત વિગત
|
||||
Name[he]=תוכן זמין
|
||||
Name[hi]=उपलब्ध विषयवस्तु
|
||||
Name[hr]=Dostupni sadržaj
|
||||
Name[hu]=Elérhető tartalom
|
||||
Name[ia]=Contento disponibile
|
||||
Name[id]=Isi Tersedia
|
||||
Name[is]=Aðgengilegt innihald
|
||||
Name[it]=Contenuto disponibile
|
||||
Name[ja]=利用可能なコンテンツ
|
||||
Name[kk]=Бар мазмұны
|
||||
Name[km]=មាតិកាដែលអាចប្រើបាន
|
||||
Name[kn]=ಲಭ್ಯವಿರುವ ವಿಷಯ
|
||||
Name[ko]=사용 가능한 내용
|
||||
Name[lt]=Turimas turinys
|
||||
Name[lv]=Pieejams saturs
|
||||
Name[mai]=उपलब्ध सामग्री
|
||||
Name[mk]=Достапна содржина
|
||||
Name[ml]=ലഭ്യമായ ള്ളടക്കങ്ങള്
|
||||
Name[mr]=उपलब्ध मजकूर
|
||||
Name[nb]=Tilgjengelig innhold
|
||||
Name[nds]=Verföögbor Inholt
|
||||
Name[nl]=Beschikbare inhoud
|
||||
Name[nn]=Tilgjengeleg innhald
|
||||
Name[pa]=ਉਪਲੱਬਧ ਸਮੱਗਰੀ
|
||||
Name[pl]=Dostępna treść
|
||||
Name[pt]=Conteúdo Disponível
|
||||
Name[pt_BR]=Conteúdo disponível
|
||||
Name[ro]=Conținut disponibil
|
||||
Name[ru]=Содержимое
|
||||
Name[si]=පවතින අන්තර්ගතය
|
||||
Name[sk]=Dostupný obsah
|
||||
Name[sl]=Razpoložljiva vsebina
|
||||
Name[sr]=доступан садржај
|
||||
Name[sr@ijekavian]=доступан садржај
|
||||
Name[sr@ijekavianlatin]=dostupan sadržaj
|
||||
Name[sr@latin]=dostupan sadržaj
|
||||
Name[sv]=Tillgängligt innehåll
|
||||
Name[tg]=Мазмуни дастрас
|
||||
Name[th]=เนื้อหาที่มีอยู่
|
||||
Name[tr]=Kullanılabilir İçerik
|
||||
Name[ug]=ئىشلەتكىلى بولىدىغان مەزمۇن
|
||||
Name[uk]=Доступний вміст
|
||||
Name[vi]=Nội dung hiện hữu
|
||||
Name[wa]=Ådvins disponibe
|
||||
Name[x-test]=xxAvailable Contentxx
|
||||
Name[zh_CN]=可用内容
|
||||
Name[zh_TW]=可用的內容
|
||||
|
||||
[Desktop Action blank]
|
||||
Name=Blank
|
||||
Name[ar]=فارغ
|
||||
Name[ast]=Baleru
|
||||
Name[bg]=Празен диск
|
||||
Name[bn]=ফাঁকা
|
||||
Name[bs]=prazan
|
||||
Name[ca]=En blanc
|
||||
Name[ca@valencia]=En blanc
|
||||
Name[cs]=Prázdné
|
||||
Name[csb]=Czësti
|
||||
Name[da]=Tom
|
||||
Name[de]=Leer
|
||||
Name[el]=Κενό
|
||||
Name[en_GB]=Blank
|
||||
Name[eo]=Malplena
|
||||
Name[es]=En blanco
|
||||
Name[et]=Tühi
|
||||
Name[eu]=Hutsik
|
||||
Name[fi]=Tyhjä
|
||||
Name[fr]=Vide
|
||||
Name[fy]=Leech
|
||||
Name[ga]=Folamh
|
||||
Name[gl]=Sen gravar
|
||||
Name[gu]=ખાલી
|
||||
Name[he]=ריק
|
||||
Name[hi]=खाली
|
||||
Name[hr]=Prazan
|
||||
Name[hu]=Üres
|
||||
Name[ia]=Vacue
|
||||
Name[id]=Kosong
|
||||
Name[is]=Tómur
|
||||
Name[it]=Vuoto
|
||||
Name[ja]=空
|
||||
Name[kk]=Бос
|
||||
Name[km]=ទទេ
|
||||
Name[kn]=ಖಾಲಿ
|
||||
Name[ko]=비어 있음
|
||||
Name[lt]=Tuščias
|
||||
Name[lv]=Tukšs
|
||||
Name[mk]=Празен
|
||||
Name[ml]=ശൂന്യം
|
||||
Name[mr]=रिकामे
|
||||
Name[nb]=Tom
|
||||
Name[nds]=Leddig
|
||||
Name[nl]=Blanco
|
||||
Name[nn]=Tom
|
||||
Name[pa]=ਖਾਲੀ
|
||||
Name[pl]=Pusty
|
||||
Name[pt]=Vazio
|
||||
Name[pt_BR]=Vazio
|
||||
Name[ro]=Gol
|
||||
Name[ru]=Пустой
|
||||
Name[si]=හිස්
|
||||
Name[sk]=Prázdne
|
||||
Name[sl]=Prazen
|
||||
Name[sr]=празан
|
||||
Name[sr@ijekavian]=празан
|
||||
Name[sr@ijekavianlatin]=prazan
|
||||
Name[sr@latin]=prazan
|
||||
Name[sv]=Tom
|
||||
Name[tg]=Холӣ
|
||||
Name[th]=แผ่นเปล่า
|
||||
Name[tr]=Boş
|
||||
Name[ug]=بوش
|
||||
Name[uk]=Порожньо
|
||||
Name[vi]=Trống
|
||||
Name[wa]=Vude
|
||||
Name[x-test]=xxBlankxx
|
||||
Name[zh_CN]=空
|
||||
Name[zh_TW]=空白
|
||||
|
||||
[Desktop Action capacity]
|
||||
Name=Capacity
|
||||
Name[ar]=السعة
|
||||
Name[ast]=Capacidá
|
||||
Name[bg]=Капацитет
|
||||
Name[bn]=পরিমাপ
|
||||
Name[bs]=kapacitet
|
||||
Name[ca]=Capacitat
|
||||
Name[ca@valencia]=Capacitat
|
||||
Name[cs]=Kapacita
|
||||
Name[csb]=Plac na diskù
|
||||
Name[da]=Kapacitet
|
||||
Name[de]=Kapazität
|
||||
Name[el]=Χωρητικότητα
|
||||
Name[en_GB]=Capacity
|
||||
Name[eo]=Kapacito
|
||||
Name[es]=Capacidad
|
||||
Name[et]=Mahtuvus
|
||||
Name[eu]=Edukiera
|
||||
Name[fi]=Tilavuus
|
||||
Name[fr]=Capacité
|
||||
Name[fy]=kapisiteit
|
||||
Name[ga]=Toilleadh
|
||||
Name[gl]=Capacidade
|
||||
Name[gu]=ક્ષમતા
|
||||
Name[he]=קיבולת
|
||||
Name[hi]=क्षमता
|
||||
Name[hr]=Kapacitet
|
||||
Name[hu]=Kapacitás
|
||||
Name[ia]=Capacitate
|
||||
Name[id]=Kapasitas
|
||||
Name[is]=Rýmd
|
||||
Name[it]=Capacità
|
||||
Name[ja]=容量
|
||||
Name[ka]=მოცულობა
|
||||
Name[kk]=Сыйымдылығы
|
||||
Name[km]=សមត្ថភាព
|
||||
Name[kn]=ಸಾಮರ್ಥ್ಯ
|
||||
Name[ko]=용량
|
||||
Name[lt]=Galimybės
|
||||
Name[lv]=Ietilpība
|
||||
Name[mk]=Капацитет
|
||||
Name[ml]=വലിപ്പം
|
||||
Name[mr]=क्षमता
|
||||
Name[nb]=Kapasitet
|
||||
Name[nds]=Grött
|
||||
Name[nl]=Capaciteit
|
||||
Name[nn]=Kapasitet
|
||||
Name[pa]=ਸਮਰੱਥਾ
|
||||
Name[pl]=Pojemność
|
||||
Name[pt]=Capacidade
|
||||
Name[pt_BR]=Capacidade
|
||||
Name[ro]=Capacitate
|
||||
Name[ru]=Ёмкость
|
||||
Name[si]=පරිමාව
|
||||
Name[sk]=Kapacita
|
||||
Name[sl]=Zmogljivost
|
||||
Name[sr]=капацитет
|
||||
Name[sr@ijekavian]=капацитет
|
||||
Name[sr@ijekavianlatin]=kapacitet
|
||||
Name[sr@latin]=kapacitet
|
||||
Name[sv]=Kapacitet
|
||||
Name[tg]=Audacity
|
||||
Name[th]=ความจุ
|
||||
Name[tr]=Kapasite
|
||||
Name[ug]=سىغىمى
|
||||
Name[uk]=Місткість
|
||||
Name[vi]=Dung lượng
|
||||
Name[wa]=Capacité
|
||||
Name[x-test]=xxCapacityxx
|
||||
Name[zh_CN]=容量
|
||||
Name[zh_TW]=空間
|
||||
|
||||
[Desktop Action discType]
|
||||
Name=Disc Type
|
||||
Name[ar]=نوع القرص
|
||||
Name[ast]=Triba de discu
|
||||
Name[bg]=Вид диск
|
||||
Name[bn]=ডিস্ক ধরন
|
||||
Name[bs]=tip diska
|
||||
Name[ca]=Tipus de disc
|
||||
Name[ca@valencia]=Tipus de disc
|
||||
Name[cs]=Typ disku
|
||||
Name[csb]=Ôrt diskù
|
||||
Name[da]=Disktype
|
||||
Name[de]=Disc-Typ
|
||||
Name[el]=Τύπος δίσκου
|
||||
Name[en_GB]=Disc Type
|
||||
Name[eo]=Tipo de Disko
|
||||
Name[es]=Tipo de disco
|
||||
Name[et]=Plaadi tüüp
|
||||
Name[eu]=Disko mota
|
||||
Name[fi]=Levyn tyyppi
|
||||
Name[fr]=Type de disque
|
||||
Name[fy]=Skiif type
|
||||
Name[ga]=Cineál an Diosca
|
||||
Name[gl]=Tipo de disco
|
||||
Name[gu]=ડિસ્ક પ્રકાર
|
||||
Name[he]=סוג דיסק
|
||||
Name[hi]=डिस्क प्रकार
|
||||
Name[hr]=Tip diska
|
||||
Name[hu]=Lemeztípus
|
||||
Name[ia]=Typo disco
|
||||
Name[id]=Tipe Cakram
|
||||
Name[is]=Gerð disks
|
||||
Name[it]=Tipo di disco
|
||||
Name[ja]=ディスクのタイプ
|
||||
Name[ka]=დისკის ტიპი
|
||||
Name[kk]=Диск түрі
|
||||
Name[km]=ប្រភេទថាស
|
||||
Name[kn]=ಡಿಸ್ಕಿನ ಬಗೆ
|
||||
Name[ko]=디스크 종류
|
||||
Name[lt]=Disko tipas
|
||||
Name[lv]=Tiska veids
|
||||
Name[mai]=डिस्क प्रकार
|
||||
Name[mk]=Тип на диск
|
||||
Name[ml]=ഡിസ്കിന്റെ തരം
|
||||
Name[mr]=डिस्क प्रकार
|
||||
Name[nb]=Platetype
|
||||
Name[nds]=Schiev-Typ
|
||||
Name[nl]=Schijftype
|
||||
Name[nn]=Disktype
|
||||
Name[pa]=ਡਿਸਕ ਕਿਸਮ
|
||||
Name[pl]=Typ dysku
|
||||
Name[pt]=Tipo de Disco
|
||||
Name[pt_BR]=Tipo de disco
|
||||
Name[ro]=Tipul discului
|
||||
Name[ru]=Тип диска
|
||||
Name[si]=තැටි වර්ගය
|
||||
Name[sk]=Typ disku
|
||||
Name[sl]=Vrsta diska
|
||||
Name[sr]=тип диска
|
||||
Name[sr@ijekavian]=тип диска
|
||||
Name[sr@ijekavianlatin]=tip diska
|
||||
Name[sr@latin]=tip diska
|
||||
Name[sv]=Skivtyp
|
||||
Name[tg]=Намуди диск
|
||||
Name[th]=ประเภทของแผ่นดิสก์
|
||||
Name[tr]=Disk Tipi
|
||||
Name[ug]=دىسكا تىپى
|
||||
Name[uk]=Тип диска
|
||||
Name[vi]=Kiểu đĩa
|
||||
Name[wa]=Sôre di plake
|
||||
Name[x-test]=xxDisc Typexx
|
||||
Name[zh_CN]=盘片类型
|
||||
Name[zh_TW]=磁碟型態
|
||||
|
||||
[Desktop Action fsType]
|
||||
Name=Fs Type
|
||||
Name[ar]=نوع نظام الملفات
|
||||
Name[ast]=Triba de Fs
|
||||
Name[bg]=Вид файлова система
|
||||
Name[bn]=Fs ধরন
|
||||
Name[bs]=tip fsis.
|
||||
Name[ca]=Tipus de sistema de fitxers
|
||||
Name[ca@valencia]=Tipus de sistema de fitxers
|
||||
Name[cs]=Typ FS
|
||||
Name[csb]=Ôrt Fs
|
||||
Name[da]=FS-type
|
||||
Name[de]=Dateisystemtyp
|
||||
Name[el]=Τύπος συστήματος αρχείων
|
||||
Name[en_GB]=Fs Type
|
||||
Name[eo]=Dosiersistema Tipo
|
||||
Name[es]=Tipo de s. a.
|
||||
Name[et]=Failisüsteemi tüüp
|
||||
Name[eu]=Fitxategi-sistema mota
|
||||
Name[fi]=Tiedostojärjestelmän tyyppi
|
||||
Name[fr]=Type de système de fichiers
|
||||
Name[fy]=Fs type
|
||||
Name[ga]=Cineál an Chórais Comhad
|
||||
Name[gl]=Sistema de ficheiros
|
||||
Name[gu]=Fs પ્રકાર
|
||||
Name[he]=סוג מערכת קבצים
|
||||
Name[hi]=Fs प्रकार
|
||||
Name[hr]=Tip datotečnog sustava
|
||||
Name[hu]=Fájlrendszer
|
||||
Name[ia]=Typo Fs
|
||||
Name[id]=Tipe Sistem Berkas
|
||||
Name[is]=Tegund skráakerfis
|
||||
Name[it]=Tipo di filesystem
|
||||
Name[ja]=Fs タイプ
|
||||
Name[kk]=ФЖ түрі
|
||||
Name[km]=ប្រភេទ Fs
|
||||
Name[kn]=Fs ಬಗೆ
|
||||
Name[ko]=파일 시스템 종류
|
||||
Name[lt]=FS tipas
|
||||
Name[lv]=FS tips
|
||||
Name[mai]=Fs प्रकार
|
||||
Name[mk]=Тип на дат. систем
|
||||
Name[ml]=ഫയല് വ്യവസ്ഥയുടെ തരം
|
||||
Name[mr]=Fs प्रकार
|
||||
Name[nb]=Filsystemtype
|
||||
Name[nds]=Dateisysteem-Typ
|
||||
Name[nl]=FS-type
|
||||
Name[nn]=Filsystemtype
|
||||
Name[pa]=Fs ਕਿਸਮ
|
||||
Name[pl]=Typ systemu plików
|
||||
Name[pt]=Tipo de SF
|
||||
Name[pt_BR]=Tipo de sistema de arquivos
|
||||
Name[ro]=Tipul SF
|
||||
Name[ru]=Файловая система
|
||||
Name[si]=Fs වර්ගය
|
||||
Name[sk]=Typ FS
|
||||
Name[sl]=Vrsta dat. sist.
|
||||
Name[sr]=тип фсис.
|
||||
Name[sr@ijekavian]=тип фсис.
|
||||
Name[sr@ijekavianlatin]=tip fsis.
|
||||
Name[sr@latin]=tip fsis.
|
||||
Name[sv]=Filsystemtyp
|
||||
Name[tg]=Намуди Fs
|
||||
Name[th]=ประเภทของระบบแฟ้ม
|
||||
Name[tr]=Dosya Sistemi Tipi
|
||||
Name[ug]=ھۆججەت سىستېما تىپى
|
||||
Name[uk]=Тип ФС
|
||||
Name[vi]=Kiểu hệ thống tập tin
|
||||
Name[wa]=Sôre di Fs
|
||||
Name[x-test]=xxFs Typexx
|
||||
Name[zh_CN]=文件系统类型
|
||||
Name[zh_TW]=檔案系統型態
|
||||
|
||||
[Desktop Action ignored]
|
||||
Name=Ignored
|
||||
Name[ar]=متجاهَل
|
||||
Name[ast]=Inoráu
|
||||
Name[bg]=Пренебрегнат
|
||||
Name[bn]=উপেক্ষিত
|
||||
Name[bs]=ignorisan
|
||||
Name[ca]=Ignorat
|
||||
Name[ca@valencia]=Ignorat
|
||||
Name[cs]=Ignorováno
|
||||
Name[csb]=Ignorowóné
|
||||
Name[da]=Ignoreret
|
||||
Name[de]=Ignoriert
|
||||
Name[el]=Παράβλεψη
|
||||
Name[en_GB]=Ignored
|
||||
Name[eo]=Ignorita
|
||||
Name[es]=Ignorado
|
||||
Name[et]=Eiratav
|
||||
Name[eu]=Ez ikusi eginda
|
||||
Name[fi]=Ei otettu huomioon
|
||||
Name[fr]=Ignoré
|
||||
Name[fy]=Negearre
|
||||
Name[ga]=Neamhaird Déanta De
|
||||
Name[gl]=Ignorado
|
||||
Name[gu]=અવગણેલ
|
||||
Name[he]=התעלם
|
||||
Name[hi]=उपेक्षित
|
||||
Name[hr]=Zanemareno
|
||||
Name[hu]=Nem kezelt
|
||||
Name[ia]=Ignorate
|
||||
Name[id]=Diabaikan
|
||||
Name[is]=Hunsað
|
||||
Name[it]=Ignorato
|
||||
Name[ja]=無視
|
||||
Name[kk]=Еленбеген
|
||||
Name[km]=បានមិនអើពើ
|
||||
Name[kn]=ಆಲಕ್ಷಿತ
|
||||
Name[ko]=무시됨
|
||||
Name[lt]=Ignoruota
|
||||
Name[lv]=Ignorēts
|
||||
Name[mk]=Игнорирано
|
||||
Name[ml]=അവഗണിച്ചു
|
||||
Name[mr]=उपेक्षित
|
||||
Name[nb]=Ignorert
|
||||
Name[nds]=Övergahn
|
||||
Name[nl]=Genegeerd
|
||||
Name[nn]=Oversett
|
||||
Name[pa]=ਅਣਡਿੱਠ ਕੀਤਾ
|
||||
Name[pl]=Ignorowany
|
||||
Name[pt]=Ignorado
|
||||
Name[pt_BR]=Ignorado
|
||||
Name[ro]=Ignorat
|
||||
Name[ru]=Игнорируется
|
||||
Name[si]=නොතැකූ
|
||||
Name[sk]=Ignorované
|
||||
Name[sl]=Prezrto
|
||||
Name[sr]=игнорисан
|
||||
Name[sr@ijekavian]=игнорисан
|
||||
Name[sr@ijekavianlatin]=ignorisan
|
||||
Name[sr@latin]=ignorisan
|
||||
Name[sv]=Ignorerad
|
||||
Name[tg]=Радшуда
|
||||
Name[th]=ไม่สนใจ
|
||||
Name[tr]=Yoksayılmış
|
||||
Name[ug]=پەرۋا قىلمىدى
|
||||
Name[uk]=Ігнорується
|
||||
Name[vi]=Bỏ qua
|
||||
Name[wa]=Passé houte
|
||||
Name[x-test]=xxIgnoredxx
|
||||
Name[zh_CN]=已忽略
|
||||
Name[zh_TW]=忽略
|
||||
|
||||
[Desktop Action label]
|
||||
Name=Label
|
||||
Name[ar]=التسمية
|
||||
Name[ast]=Etiqueta
|
||||
Name[bg]=Етикет
|
||||
Name[bn]=লেবেল
|
||||
Name[bs]=etiketa
|
||||
Name[ca]=Etiqueta
|
||||
Name[ca@valencia]=Etiqueta
|
||||
Name[cs]=Popisek
|
||||
Name[csb]=Znakòwnik
|
||||
Name[da]=Etiket
|
||||
Name[de]=Beschriftung
|
||||
Name[el]=Ετικέτα
|
||||
Name[en_GB]=Label
|
||||
Name[eo]=Labelo
|
||||
Name[es]=Etiqueta
|
||||
Name[et]=Pealdis
|
||||
Name[eu]=Etiketa
|
||||
Name[fa]=برچسب
|
||||
Name[fi]=Nimike
|
||||
Name[fr]=Étiquette
|
||||
Name[fy]=Lebel
|
||||
Name[ga]=Lipéad
|
||||
Name[gl]=Etiqueta
|
||||
Name[gu]=લેબલ
|
||||
Name[he]=תוויות
|
||||
Name[hi]=लेबल
|
||||
Name[hr]=Natpis
|
||||
Name[hu]=Címke
|
||||
Name[ia]=Etiquetta
|
||||
Name[id]=Label
|
||||
Name[is]=Merking
|
||||
Name[it]=Etichetta
|
||||
Name[ja]=ラベル
|
||||
Name[kk]=Тамғасы
|
||||
Name[km]=ស្លាក
|
||||
Name[kn]=ಗುರುತುಪಟ್ಟಿ
|
||||
Name[ko]=레이블
|
||||
Name[lt]=Etiketė
|
||||
Name[lv]=Etiķete
|
||||
Name[mk]=Натпис
|
||||
Name[ml]=ലേബല്
|
||||
Name[mr]=लेबल
|
||||
Name[nb]=Etikett
|
||||
Name[nds]=Beteker
|
||||
Name[nl]=Label
|
||||
Name[nn]=Merkelapp
|
||||
Name[pa]=ਲੇਬਲ
|
||||
Name[pl]=Etykieta
|
||||
Name[pt]=Legenda
|
||||
Name[pt_BR]=Rótulo
|
||||
Name[ro]=Etichetă
|
||||
Name[ru]=Метка
|
||||
Name[si]=ලේබලය
|
||||
Name[sk]=Štítok
|
||||
Name[sl]=Oznaka
|
||||
Name[sr]=етикета
|
||||
Name[sr@ijekavian]=етикета
|
||||
Name[sr@ijekavianlatin]=etiketa
|
||||
Name[sr@latin]=etiketa
|
||||
Name[sv]=Etikett
|
||||
Name[tg]=Тамға
|
||||
Name[th]=แถบป้าย
|
||||
Name[tr]=Etiket
|
||||
Name[ug]=ئەن
|
||||
Name[uk]=Мітка
|
||||
Name[vi]=Nhãn
|
||||
Name[wa]=Etikete
|
||||
Name[x-test]=xxLabelxx
|
||||
Name[zh_CN]=标签
|
||||
Name[zh_TW]=標籤
|
||||
|
||||
[Desktop Action rewritable]
|
||||
Name=Rewritable
|
||||
Name[ar]=قابل للكتابة
|
||||
Name[ast]=Regrabable
|
||||
Name[bg]=Презаписваем диск
|
||||
Name[bn]=আবার লেখা যাবে
|
||||
Name[bs]=prebrisiv
|
||||
Name[ca]=Regravable
|
||||
Name[ca@valencia]=Regravable
|
||||
Name[cs]=Přepisovatelný
|
||||
Name[csb]=Wielorazowò zapisëwanlné
|
||||
Name[da]=Genbrændbar
|
||||
Name[de]=Wiederbeschreibbar
|
||||
Name[el]=Επανεγγράψιμο
|
||||
Name[en_GB]=Rewritable
|
||||
Name[eo]=Re-skribitebla
|
||||
Name[es]=Regrabable
|
||||
Name[et]=Korduvkirjutatav
|
||||
Name[eu]=Birgrabagarria
|
||||
Name[fi]=Uudelleenkirjoitettavissa
|
||||
Name[fr]=Réinscriptible
|
||||
Name[fy]=Wer te beskriuwen
|
||||
Name[ga]=In-Athscríofa
|
||||
Name[gl]=Regravábel
|
||||
Name[gu]=ફરી લખી શકાય તેવું
|
||||
Name[he]=ניתן לכתיבה חוזרת
|
||||
Name[hi]=फिर लिखनेयोग्य
|
||||
Name[hr]=Prebrisiv
|
||||
Name[hu]=Újraírható
|
||||
Name[ia]=Que on pote scriber de nove
|
||||
Name[id]=Dapat Ditulis Ulang
|
||||
Name[is]=Endurskrifanlegt
|
||||
Name[it]=Riscrivibile
|
||||
Name[ja]=リライタブル
|
||||
Name[kk]=Қайта жазылмалы
|
||||
Name[km]=អាចសរសេរបាន
|
||||
Name[kn]=ಪುನಃ ಬರೆಯಬಹುದಾದ
|
||||
Name[ko]=다시 쓸 수 있음
|
||||
Name[lt]=Perrašomas
|
||||
Name[lv]=Pārrakstāms
|
||||
Name[mai]=फेर लिखबा योग्य
|
||||
Name[ml]=വീണ്ടും എഴുതാവുന്ന
|
||||
Name[mr]=परत लिहिता येण्याजोगे
|
||||
Name[nb]=Overskrivbar
|
||||
Name[nds]=Wedderschriefbor
|
||||
Name[nl]=Herschrijfbaar
|
||||
Name[nn]=Omskrivbar
|
||||
Name[pa]=ਮੁੜ-ਲਿਖਣਯੋਗ
|
||||
Name[pl]=Z możliwością ponownego zapisu
|
||||
Name[pt]=Regravável
|
||||
Name[pt_BR]=Regravável
|
||||
Name[ro]=Reinscriptibil
|
||||
Name[ru]=Перезаписываемый
|
||||
Name[si]=නැවත ලිවිය හැකි
|
||||
Name[sk]=Prepisovateľné
|
||||
Name[sl]=Prepisljiv
|
||||
Name[sr]=пребрисив
|
||||
Name[sr@ijekavian]=пребрисив
|
||||
Name[sr@ijekavianlatin]=prebrisiv
|
||||
Name[sr@latin]=prebrisiv
|
||||
Name[sv]=Skrivbar
|
||||
Name[tg]=Навишташаванда
|
||||
Name[th]=สามารถเขียนใหม่ได้
|
||||
Name[tr]=Yeniden yazılabilir
|
||||
Name[ug]=يېزىشقا بولىدىغان
|
||||
Name[uk]=Перезапис
|
||||
Name[wa]=Riscrijhåve
|
||||
Name[x-test]=xxRewritablexx
|
||||
Name[zh_CN]=可覆写
|
||||
Name[zh_TW]=可覆寫
|
||||
|
||||
[Desktop Action size]
|
||||
Name=Size
|
||||
Name[ar]=الحجم
|
||||
Name[ast]=Tamañu
|
||||
Name[bg]=Големина
|
||||
Name[bn]=মাপ
|
||||
Name[bs]=veličina
|
||||
Name[ca]=Mida
|
||||
Name[ca@valencia]=Mida
|
||||
Name[cs]=Velikost
|
||||
Name[csb]=Miara
|
||||
Name[da]=Størrelse
|
||||
Name[de]=Größe
|
||||
Name[el]=Μέγεθος
|
||||
Name[en_GB]=Size
|
||||
Name[eo]=Grandeco
|
||||
Name[es]=Tamaño
|
||||
Name[et]=Suurus
|
||||
Name[eu]=Neurria
|
||||
Name[fa]=اندازه
|
||||
Name[fi]=Koko
|
||||
Name[fr]=Taille
|
||||
Name[fy]=Grutte
|
||||
Name[ga]=Méid
|
||||
Name[gl]=Tamaño
|
||||
Name[gu]=માપ
|
||||
Name[he]=גודל
|
||||
Name[hi]=आकार
|
||||
Name[hr]=Veličina
|
||||
Name[hu]=Méret
|
||||
Name[ia]=Dimension
|
||||
Name[id]=Ukuran
|
||||
Name[is]=Stærð
|
||||
Name[it]=Dimensione
|
||||
Name[ja]=サイズ
|
||||
Name[ka]=ზომა
|
||||
Name[kk]=Көлемі
|
||||
Name[km]=ទំហំ
|
||||
Name[kn]=ಗಾತ್ರ
|
||||
Name[ko]=크기
|
||||
Name[lt]=Dydis
|
||||
Name[lv]=Izmērs
|
||||
Name[mk]=Големина
|
||||
Name[ml]=വലിപ്പം
|
||||
Name[mr]=आकार
|
||||
Name[nb]=Størrelse
|
||||
Name[nds]=Grött
|
||||
Name[nl]=Grootte
|
||||
Name[nn]=Storleik
|
||||
Name[pa]=ਸਾਈਜ਼
|
||||
Name[pl]=Rozmiar
|
||||
Name[pt]=Tamanho
|
||||
Name[pt_BR]=Tamanho
|
||||
Name[ro]=Dimensiune
|
||||
Name[ru]=Размер
|
||||
Name[si]=ප්රමාණය
|
||||
Name[sk]=Veľkosť
|
||||
Name[sl]=Velikost
|
||||
Name[sr]=величина
|
||||
Name[sr@ijekavian]=величина
|
||||
Name[sr@ijekavianlatin]=veličina
|
||||
Name[sr@latin]=veličina
|
||||
Name[sv]=Storlek
|
||||
Name[tg]=Андоза
|
||||
Name[th]=ขนาด
|
||||
Name[tr]=Boyut
|
||||
Name[ug]=چوڭلۇقى
|
||||
Name[uk]=Розмір
|
||||
Name[wa]=Grandeu
|
||||
Name[x-test]=xxSizexx
|
||||
Name[zh_CN]=大小
|
||||
Name[zh_TW]=大小
|
||||
|
||||
[Desktop Action usage]
|
||||
Name=Usage
|
||||
Name[ar]=الاستعمال
|
||||
Name[ast]=Usu
|
||||
Name[bg]=Използване
|
||||
Name[bn]=ব্যবহার
|
||||
Name[bs]=upotreba
|
||||
Name[ca]=Ús
|
||||
Name[ca@valencia]=Ús
|
||||
Name[cs]=Použití
|
||||
Name[csb]=Brëkòwóné
|
||||
Name[da]=Brug
|
||||
Name[de]=Verwendung
|
||||
Name[el]=Χρήση
|
||||
Name[en_GB]=Usage
|
||||
Name[eo]=Uzado
|
||||
Name[es]=Uso
|
||||
Name[et]=Kasutus
|
||||
Name[eu]=Erabilera
|
||||
Name[fi]=Käyttötaso
|
||||
Name[fr]=Usage
|
||||
Name[fy]=Brûkens
|
||||
Name[ga]=Úsáid
|
||||
Name[gl]=Uso
|
||||
Name[gu]=વપરાશ
|
||||
Name[he]=שימוש
|
||||
Name[hi]=उपयोग
|
||||
Name[hr]=Iskorištenost
|
||||
Name[hu]=Kihasználtság
|
||||
Name[ia]=Usage
|
||||
Name[id]=Penggunaan
|
||||
Name[is]=Notkun
|
||||
Name[it]=Uso
|
||||
Name[ja]=使用率
|
||||
Name[ka]=გამოყენება
|
||||
Name[kk]=Толуы
|
||||
Name[km]=ការប្រើប្រាស់
|
||||
Name[kn]=ಬಳಕೆ
|
||||
Name[ko]=사용량
|
||||
Name[lt]=Naudojimas
|
||||
Name[lv]=Izlietojums
|
||||
Name[mk]=Користење
|
||||
Name[ml]=ഉപയോഗരീതി
|
||||
Name[mr]=वापर
|
||||
Name[nb]=Bruk
|
||||
Name[nds]=Bruuk
|
||||
Name[nl]=Gebruik
|
||||
Name[nn]=Bruk
|
||||
Name[pa]=ਵਰਤੋਂ
|
||||
Name[pl]=Wykorzystanie
|
||||
Name[pt]=Utilização
|
||||
Name[pt_BR]=Uso
|
||||
Name[ro]=Utilizare
|
||||
Name[ru]=Использование
|
||||
Name[si]=භාවිතය
|
||||
Name[sk]=Použitie
|
||||
Name[sl]=Poraba
|
||||
Name[sr]=употреба
|
||||
Name[sr@ijekavian]=употреба
|
||||
Name[sr@ijekavianlatin]=upotreba
|
||||
Name[sr@latin]=upotreba
|
||||
Name[sv]=Användning
|
||||
Name[tg]=Истифодабарӣ
|
||||
Name[th]=วิธีใช้
|
||||
Name[tr]=Kullanım
|
||||
Name[ug]=ئىشلىتىلىشى
|
||||
Name[uk]=Використання
|
||||
Name[wa]=Eployaedje
|
||||
Name[x-test]=xxUsagexx
|
||||
Name[zh_CN]=已用量
|
||||
Name[zh_TW]=使用量
|
||||
|
||||
[Desktop Action uuid]
|
||||
Name=Uuid
|
||||
Name[ar]=المعرف الفريد عالمياً (Uuid)
|
||||
Name[ast]=Uuid
|
||||
Name[bg]=Uuid
|
||||
Name[bn]=Uuid
|
||||
Name[bs]=UUID
|
||||
Name[ca]=UUID
|
||||
Name[ca@valencia]=UUID
|
||||
Name[cs]=Uuid
|
||||
Name[csb]=Uuid
|
||||
Name[da]=Uuid
|
||||
Name[de]=UUID
|
||||
Name[el]=Uuid
|
||||
Name[en_GB]=Uuid
|
||||
Name[eo]=Uuid
|
||||
Name[es]=Uuid
|
||||
Name[et]=Uuid
|
||||
Name[eu]=UUIDa
|
||||
Name[fi]=Uuid
|
||||
Name[fr]=Uuid
|
||||
Name[fy]=Uuid
|
||||
Name[ga]=Uuid
|
||||
Name[gl]=Uuid
|
||||
Name[gu]=Uuid
|
||||
Name[he]=Uuid
|
||||
Name[hi]=Uuid
|
||||
Name[hr]=UUID
|
||||
Name[hu]=UUID
|
||||
Name[ia]=Uuid
|
||||
Name[id]=Uuid
|
||||
Name[is]=UUID
|
||||
Name[it]=Uuid
|
||||
Name[ja]=UUID
|
||||
Name[ka]=Uuid
|
||||
Name[kk]=Uuid
|
||||
Name[km]=Uuid
|
||||
Name[kn]=Uuid
|
||||
Name[ko]=UUID
|
||||
Name[lt]=Uuid
|
||||
Name[lv]=Uuid
|
||||
Name[mk]=Uuid
|
||||
Name[ml]=യുയുഐഡി
|
||||
Name[mr]=Uuid
|
||||
Name[nb]=Uuid
|
||||
Name[nds]=UUID
|
||||
Name[nl]=Uuid
|
||||
Name[nn]=UUID
|
||||
Name[pa]=Uuid
|
||||
Name[pl]=Uuid
|
||||
Name[pt]=UUID
|
||||
Name[pt_BR]=UUID
|
||||
Name[ro]=Uuid
|
||||
Name[ru]=UUID
|
||||
Name[si]=Uuid
|
||||
Name[sk]=Uuid
|
||||
Name[sl]=UUID
|
||||
Name[sr]=УУИД
|
||||
Name[sr@ijekavian]=УУИД
|
||||
Name[sr@ijekavianlatin]=UUID
|
||||
Name[sr@latin]=UUID
|
||||
Name[sv]=Uuid
|
||||
Name[tg]=Phluid
|
||||
Name[th]=ค่า Uuid
|
||||
Name[tr]=Uuid
|
||||
Name[ug]=Uuid
|
||||
Name[uk]=Uuid
|
||||
Name[wa]=Uuid
|
||||
Name[x-test]=xxUuidxx
|
||||
Name[zh_CN]=UUID
|
||||
Name[zh_TW]=UUID
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=appendable;availableContent;blank;capacity;discType;fsType;ignored;label;rewritable;size;usage;uuid;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=OpticalDisc
|
|
@ -1,723 +0,0 @@
|
|||
[Desktop Action bus]
|
||||
Name=Bus
|
||||
Name[ar]=الناقل
|
||||
Name[ast]=Bus
|
||||
Name[bg]=Шина
|
||||
Name[bn]=বাস
|
||||
Name[bs]=magistrala
|
||||
Name[ca]=Bus
|
||||
Name[ca@valencia]=Bus
|
||||
Name[cs]=Sběrnice
|
||||
Name[csb]=Bus
|
||||
Name[da]=Bus
|
||||
Name[de]=Bus
|
||||
Name[el]=Δίαυλος
|
||||
Name[en_GB]=Bus
|
||||
Name[eo]=Buso
|
||||
Name[es]=Bus
|
||||
Name[et]=Siin
|
||||
Name[eu]=Busa
|
||||
Name[fa]=گذرگاه
|
||||
Name[fi]=Väylä
|
||||
Name[fr]=Bus
|
||||
Name[fy]=Bus
|
||||
Name[ga]=Bus
|
||||
Name[gl]=Bus
|
||||
Name[gu]=બસ
|
||||
Name[he]=אפיק
|
||||
Name[hi]=बस
|
||||
Name[hr]=Sabirnica
|
||||
Name[hu]=Busz
|
||||
Name[ia]=Bus
|
||||
Name[id]=Bus
|
||||
Name[is]=Rás (bus)
|
||||
Name[it]=Bus
|
||||
Name[ja]=バス
|
||||
Name[ka]=სალტე
|
||||
Name[kk]=Шинасы
|
||||
Name[km]=ខ្សែបញ្ជូន
|
||||
Name[kn]=ಬಸ್
|
||||
Name[ko]=버스
|
||||
Name[lt]=Magistralė
|
||||
Name[lv]=Kopne
|
||||
Name[mk]=Магистрала
|
||||
Name[ml]=ബസ്
|
||||
Name[mr]=बस
|
||||
Name[nb]=Buss
|
||||
Name[nds]=Bus
|
||||
Name[nl]=Bus
|
||||
Name[nn]=Buss
|
||||
Name[pa]=ਬਸ
|
||||
Name[pl]=Szyna
|
||||
Name[pt]=Barramento
|
||||
Name[pt_BR]=Barramento
|
||||
Name[ro]=Magistrală
|
||||
Name[ru]=Шина
|
||||
Name[si]=Bus
|
||||
Name[sk]=Zbernica
|
||||
Name[sl]=Vodilo
|
||||
Name[sr]=магистрала
|
||||
Name[sr@ijekavian]=магистрала
|
||||
Name[sr@ijekavianlatin]=magistrala
|
||||
Name[sr@latin]=magistrala
|
||||
Name[sv]=Buss
|
||||
Name[tg]=Белоруссия
|
||||
Name[th]=ระบบบัส
|
||||
Name[tr]=Yol
|
||||
Name[ug]=باش لىنىيە
|
||||
Name[uk]=Шина
|
||||
Name[wa]=Bus
|
||||
Name[x-test]=xxBusxx
|
||||
Name[zh_CN]=总线
|
||||
Name[zh_TW]=匯流排
|
||||
|
||||
[Desktop Action driveType]
|
||||
Name=Drive Type
|
||||
Name[ar]=نوع المشغل
|
||||
Name[ast]=Triba de discu
|
||||
Name[bg]=Вид устройство
|
||||
Name[bn]=ড্রাইভ-এর ধরন
|
||||
Name[bs]=tip jedinice
|
||||
Name[ca]=Tipus d'unitat
|
||||
Name[ca@valencia]=Tipus d'unitat
|
||||
Name[cs]=Typ mechaniky
|
||||
Name[csb]=Ôrt nëka
|
||||
Name[da]=Drevtype
|
||||
Name[de]=Laufwerkstyp
|
||||
Name[el]=Τύπος οδηγού
|
||||
Name[en_GB]=Drive Type
|
||||
Name[eo]=Tipo de Diskingo
|
||||
Name[es]=Tipo de disco
|
||||
Name[et]=Seadme tüüp
|
||||
Name[eu]=Unitate mota
|
||||
Name[fi]=Asematyyppi
|
||||
Name[fr]=Type de lecteur
|
||||
Name[fy]=Stasjons type
|
||||
Name[ga]=Cineál an Tiomántáin
|
||||
Name[gl]=Tipo de dispositivo
|
||||
Name[gu]=ડ્રાઇવ પ્રકાર
|
||||
Name[he]=סוג כונן
|
||||
Name[hi]=ड्राईव प्रकार
|
||||
Name[hr]=Tip uređaja
|
||||
Name[hu]=Meghajtótípus
|
||||
Name[ia]=Typo de drive
|
||||
Name[id]=Tipe Penggerak
|
||||
Name[is]=Gerð drifs
|
||||
Name[it]=Tipo di unità
|
||||
Name[ja]=ドライブのタイプ
|
||||
Name[ka]=ამძრავის ტიპი
|
||||
Name[kk]=Жетек түрі
|
||||
Name[km]=ប្រភេទដ្រាយ
|
||||
Name[kn]=ಡ್ರೈವಿನ ಬಗೆ
|
||||
Name[ko]=드라이브 종류
|
||||
Name[lt]=Diskasukio tipas
|
||||
Name[lv]=Dziņa tips
|
||||
Name[mai]=ड्राइव प्रकार
|
||||
Name[mk]=Тип на уред
|
||||
Name[ml]=ഡ്രൈവിന്റെ തരം
|
||||
Name[mr]=ड्राइव्ह प्रकार
|
||||
Name[nb]=Drev-type
|
||||
Name[nds]=Loopwark-Typ
|
||||
Name[nl]=Apparaattype
|
||||
Name[nn]=Einingstype
|
||||
Name[pa]=ਡਰਾਇਵਰ ਕਿਸਮ
|
||||
Name[pl]=Typ napędu
|
||||
Name[pt]=Tipo de Unidade
|
||||
Name[pt_BR]=Tipo de unidade
|
||||
Name[ro]=Tip unitate
|
||||
Name[ru]=Тип устройства
|
||||
Name[si]=ධාවක වර්ගය
|
||||
Name[sk]=Typ mechaniky
|
||||
Name[sl]=Vrsta pogona
|
||||
Name[sr]=тип јединице
|
||||
Name[sr@ijekavian]=тип јединице
|
||||
Name[sr@ijekavianlatin]=tip jedinice
|
||||
Name[sr@latin]=tip jedinice
|
||||
Name[sv]=Enhetstyp
|
||||
Name[tg]=Намуди дастгоҳ
|
||||
Name[th]=ประเภทของไดรฟ์
|
||||
Name[tr]=Sürücü Tipi
|
||||
Name[ug]=قوزغاتقۇ تىپى
|
||||
Name[uk]=Тип пристрою
|
||||
Name[vi]=Kiểu trình điều khiển
|
||||
Name[wa]=Sôre di lijheu
|
||||
Name[x-test]=xxDrive Typexx
|
||||
Name[zh_CN]=驱动类型
|
||||
Name[zh_TW]=磁碟型態
|
||||
|
||||
[Desktop Action hotpluggable]
|
||||
Name=Hotpluggable
|
||||
Name[ar]=قابل للتوصيل
|
||||
Name[ast]=Conexón en caliente
|
||||
Name[bn]=হট-প্লাগ-যোগ্য
|
||||
Name[bs]=vruće uključiva
|
||||
Name[ca]=Connectable en calent
|
||||
Name[ca@valencia]=Connectable en calent
|
||||
Name[cs]=Hotplug
|
||||
Name[da]=Flytbar
|
||||
Name[de]=Hotplug-fähig
|
||||
Name[el]=Δυνατότητα Hotplug
|
||||
Name[en_GB]=Hotpluggable
|
||||
Name[eo]=Dumkure permutebla
|
||||
Name[es]=Conexión en caliente
|
||||
Name[et]=Töö ajal ühendatav
|
||||
Name[eu]=Hotplug-erako gaitua
|
||||
Name[fi]=Lennossakytkettävä
|
||||
Name[fr]=Connectable à chaud
|
||||
Name[fy]=Hotplug barren
|
||||
Name[ga]=Inphlugáilte
|
||||
Name[gl]=Conectábel en quente
|
||||
Name[gu]=હોટપ્લગેબલ
|
||||
Name[he]=החלפה חמה
|
||||
Name[hi]=हाटप्लग योग्य
|
||||
Name[hr]=Podržava brzo uštekavanje
|
||||
Name[hu]=Menet közben csatlakoztatható
|
||||
Name[ia]=Hotpluggable (On pote connecter lo con machina active)
|
||||
Name[id]=Dapat di-Hotplug
|
||||
Name[is]=Hraðtengjanlegt (hotplug)
|
||||
Name[it]=Collegabile in marcia
|
||||
Name[ja]=Hotplug 可能
|
||||
Name[kk]=Істеп турғанда қосылмалы
|
||||
Name[km]=ដោតដើរ
|
||||
Name[kn]=ಹಾಟ್ಪ್ಲಗ್ ಮಾಡಬಹುದಾದ
|
||||
Name[ko]=핫플러그 가능
|
||||
Name[lt]=Greitai prijungiamas
|
||||
Name[lv]=Karsti nomaināms
|
||||
Name[ml]=ഹോട്ട്പ്ലഗ് ചെയ്യാവുന്ന
|
||||
Name[mr]=हॉटप्लग करता येणारे
|
||||
Name[nb]=Kan kobles til påslått
|
||||
Name[nds]=Jümmers tokoppelbor
|
||||
Name[nl]=Hotplugbaar
|
||||
Name[nn]=Hotplug-kompatibel
|
||||
Name[pa]=ਹਾਟਪਲੱਗਯੋਗ
|
||||
Name[pl]=Podłączany "na gorąco"
|
||||
Name[pt]=Conectável em Funcionamento
|
||||
Name[pt_BR]=Conectável em funcionamento
|
||||
Name[ro]=Detașabil
|
||||
Name[ru]=Подключается в любое время
|
||||
Name[si]=Hotpluggable
|
||||
Name[sk]=Hotplug
|
||||
Name[sl]=Priključljivo med delovanjem
|
||||
Name[sr]=вруће укључива
|
||||
Name[sr@ijekavian]=вруће укључива
|
||||
Name[sr@ijekavianlatin]=vruće uključiva
|
||||
Name[sr@latin]=vruće uključiva
|
||||
Name[sv]=Inkopplingsbar
|
||||
Name[tg]=Дастгоҳҳои пайвастшаванда
|
||||
Name[th]=สามารถถอดเสียบได้
|
||||
Name[tr]=Çıkarılıp takılabilir
|
||||
Name[ug]=ئىسسىق چېتىلىشچان
|
||||
Name[uk]=«Гаряче» з’єднання
|
||||
Name[vi]=Tháo lắp nóng
|
||||
Name[wa]=Hotplugåve
|
||||
Name[x-test]=xxHotpluggablexx
|
||||
Name[zh_CN]=可热插拔
|
||||
Name[zh_TW]=可熱插拔
|
||||
|
||||
[Desktop Action readSpeed]
|
||||
Name=Read Speed
|
||||
Name[ar]=سرعة القراءة
|
||||
Name[ast]=Velocidá de llectura
|
||||
Name[bg]=Скорост на четене
|
||||
Name[bn]=পড়ার গতি
|
||||
Name[bs]=brzina čitanja
|
||||
Name[ca]=Velocitat de lectura
|
||||
Name[ca@valencia]=Velocitat de lectura
|
||||
Name[cs]=Rychlost čtení
|
||||
Name[csb]=Chùtkòsc czëtaniô
|
||||
Name[da]=Læsehastighed
|
||||
Name[de]=Lesegeschwindigkeit
|
||||
Name[el]=Ταχύτητα ανάγνωσης
|
||||
Name[en_GB]=Read Speed
|
||||
Name[eo]=Leg-rapideco
|
||||
Name[es]=Velocidad de lectura
|
||||
Name[et]=Lugemiskiirus
|
||||
Name[eu]=Irakurketa-abiadura
|
||||
Name[fi]=Lukunopeus
|
||||
Name[fr]=Vitesse de lecture
|
||||
Name[fy]=Lês fluggens
|
||||
Name[ga]=Luas Léite
|
||||
Name[gl]=Velocidade de lectura
|
||||
Name[gu]=લખવાની ઝડપ
|
||||
Name[he]=מהירות קריאה
|
||||
Name[hi]=पढ़ने की गति
|
||||
Name[hr]=Brzina čitanja
|
||||
Name[hu]=Olvasási sebesség
|
||||
Name[ia]=Velocitate de lectura
|
||||
Name[id]=Kecepatan Baca
|
||||
Name[is]=Leshraði
|
||||
Name[it]=Velocità in lettura
|
||||
Name[ja]=読み取り速度
|
||||
Name[kk]=Оқу жылдамдығы
|
||||
Name[km]=ល្បឿនអាន
|
||||
Name[kn]=ಓದುವ ವೇಗ
|
||||
Name[ko]=읽기 속도
|
||||
Name[lt]=Skaitymo sparta
|
||||
Name[lv]=Lasīšanas ātrums
|
||||
Name[mk]=Брзина на читање
|
||||
Name[ml]=വായനാ വേഗം
|
||||
Name[mr]=वाचन वेग
|
||||
Name[nb]=Lesehastighet
|
||||
Name[nds]=Leesgauigkeit
|
||||
Name[nl]=Leessnelheid
|
||||
Name[nn]=Lesefart
|
||||
Name[pa]=ਪੜ੍ਹਨ ਸਪੀਡ
|
||||
Name[pl]=Szybkość odczytu
|
||||
Name[pt]=Velocidade de Leitura
|
||||
Name[pt_BR]=Velocidade de leitura
|
||||
Name[ro]=Viteză de citire
|
||||
Name[ru]=Скорость чтения
|
||||
Name[si]=කියවුම් වේගය
|
||||
Name[sk]=Rýchlosť čítania
|
||||
Name[sl]=Hitrost branja
|
||||
Name[sr]=брзина читања
|
||||
Name[sr@ijekavian]=брзина читања
|
||||
Name[sr@ijekavianlatin]=brzina čitanja
|
||||
Name[sr@latin]=brzina čitanja
|
||||
Name[sv]=Läshastighet
|
||||
Name[tg]=Суръати хондан
|
||||
Name[th]=ความเร็วในการอ่านข้อมูล
|
||||
Name[tr]=Okuma hızı
|
||||
Name[ug]=ئوقۇش تېزلىكى
|
||||
Name[uk]=Швидкість читання
|
||||
Name[wa]=Radisté d' lijhaedje
|
||||
Name[x-test]=xxRead Speedxx
|
||||
Name[zh_CN]=读取速度
|
||||
Name[zh_TW]=讀取速度
|
||||
|
||||
[Desktop Action removable]
|
||||
Name=Removable
|
||||
Name[ar]=قابل للإزالة
|
||||
Name[ast]=Estrayible
|
||||
Name[bg]=Преносим
|
||||
Name[bn]=অপসারণযোগ্য
|
||||
Name[bs]=uklonjiva
|
||||
Name[ca]=Extraïble
|
||||
Name[ca@valencia]=Extraïble
|
||||
Name[cs]=Odpojitelný
|
||||
Name[csb]=Przenosné
|
||||
Name[da]=Flytbar
|
||||
Name[de]=Wechselbar
|
||||
Name[el]=Αφαιρούμενο μέσο
|
||||
Name[en_GB]=Removable
|
||||
Name[eo]=Demetebla
|
||||
Name[es]=Extraíble
|
||||
Name[et]=Eemaldatav
|
||||
Name[eu]=Aldagarria
|
||||
Name[fa]=جدا شدنی
|
||||
Name[fi]=Poistettavissa
|
||||
Name[fr]=Amovible
|
||||
Name[fy]=Te ferwiderjen
|
||||
Name[ga]=Inbhainte
|
||||
Name[gl]=Eliminábel
|
||||
Name[gu]=દૂર કરી શકાય તેવું
|
||||
Name[he]=ניתן להסרה
|
||||
Name[hi]=हटाने योग्य
|
||||
Name[hr]=Moguće ga je izvaditi
|
||||
Name[hu]=Cserélhető
|
||||
Name[ia]=Removibile
|
||||
Name[id]=Dapat Dilepaskan
|
||||
Name[is]=Fjarlægjanlegt
|
||||
Name[it]=Rimovibile
|
||||
Name[ja]=リムーバブル
|
||||
Name[kk]=Ауыстырмалы
|
||||
Name[km]=អាចយកចេញបាន
|
||||
Name[kn]=ತೆಗೆಯಬಹುದಾದ
|
||||
Name[ko]=제거 가능
|
||||
Name[lt]=Keičiamas
|
||||
Name[lv]=Noņemams
|
||||
Name[mai]=हटबैयोग्य
|
||||
Name[mk]=Подвижен
|
||||
Name[ml]=നീക്കം ചെയ്യാവുന്ന
|
||||
Name[mr]=काढता येणारे
|
||||
Name[nb]=Flyttbar
|
||||
Name[nds]=Tuuschbor
|
||||
Name[nl]=Verwijderbaar
|
||||
Name[nn]=Flyttbar
|
||||
Name[pa]=ਹਟਾਉਣਯੋਗ
|
||||
Name[pl]=Wymienny
|
||||
Name[pt]=Removível
|
||||
Name[pt_BR]=Removível
|
||||
Name[ro]=Amovibil
|
||||
Name[ru]=Сменный носитель
|
||||
Name[si]=ඉවත්කල හැකි
|
||||
Name[sk]=Vymeniteľné
|
||||
Name[sl]=Odstranljivo
|
||||
Name[sr]=уклоњива
|
||||
Name[sr@ijekavian]=уклоњива
|
||||
Name[sr@ijekavianlatin]=uklonjiva
|
||||
Name[sr@latin]=uklonjiva
|
||||
Name[sv]=Flyttbar
|
||||
Name[tg]=Дастгоҳи ҷудошаванда
|
||||
Name[th]=ถอดเสียบได้
|
||||
Name[tr]=Çıkarılabilir
|
||||
Name[ug]=كۆچمە
|
||||
Name[uk]=Змінний пристрій
|
||||
Name[wa]=Bodjåve
|
||||
Name[x-test]=xxRemovablexx
|
||||
Name[zh_CN]=移动
|
||||
Name[zh_TW]=可移除
|
||||
|
||||
[Desktop Action size]
|
||||
Name=Size
|
||||
Name[ar]=الحجم
|
||||
Name[ast]=Tamañu
|
||||
Name[bg]=Големина
|
||||
Name[bn]=মাপ
|
||||
Name[bs]=veličina
|
||||
Name[ca]=Mida
|
||||
Name[ca@valencia]=Mida
|
||||
Name[cs]=Velikost
|
||||
Name[csb]=Miara
|
||||
Name[da]=Størrelse
|
||||
Name[de]=Größe
|
||||
Name[el]=Μέγεθος
|
||||
Name[en_GB]=Size
|
||||
Name[eo]=Grandeco
|
||||
Name[es]=Tamaño
|
||||
Name[et]=Suurus
|
||||
Name[eu]=Neurria
|
||||
Name[fa]=اندازه
|
||||
Name[fi]=Koko
|
||||
Name[fr]=Taille
|
||||
Name[fy]=Grutte
|
||||
Name[ga]=Méid
|
||||
Name[gl]=Tamaño
|
||||
Name[gu]=માપ
|
||||
Name[he]=גודל
|
||||
Name[hi]=आकार
|
||||
Name[hr]=Veličina
|
||||
Name[hu]=Méret
|
||||
Name[ia]=Dimension
|
||||
Name[id]=Ukuran
|
||||
Name[is]=Stærð
|
||||
Name[it]=Dimensione
|
||||
Name[ja]=サイズ
|
||||
Name[ka]=ზომა
|
||||
Name[kk]=Көлемі
|
||||
Name[km]=ទំហំ
|
||||
Name[kn]=ಗಾತ್ರ
|
||||
Name[ko]=크기
|
||||
Name[lt]=Dydis
|
||||
Name[lv]=Izmērs
|
||||
Name[mk]=Големина
|
||||
Name[ml]=വലിപ്പം
|
||||
Name[mr]=आकार
|
||||
Name[nb]=Størrelse
|
||||
Name[nds]=Grött
|
||||
Name[nl]=Grootte
|
||||
Name[nn]=Storleik
|
||||
Name[pa]=ਸਾਈਜ਼
|
||||
Name[pl]=Rozmiar
|
||||
Name[pt]=Tamanho
|
||||
Name[pt_BR]=Tamanho
|
||||
Name[ro]=Dimensiune
|
||||
Name[ru]=Размер
|
||||
Name[si]=ප්රමාණය
|
||||
Name[sk]=Veľkosť
|
||||
Name[sl]=Velikost
|
||||
Name[sr]=величина
|
||||
Name[sr@ijekavian]=величина
|
||||
Name[sr@ijekavianlatin]=veličina
|
||||
Name[sr@latin]=veličina
|
||||
Name[sv]=Storlek
|
||||
Name[tg]=Андоза
|
||||
Name[th]=ขนาด
|
||||
Name[tr]=Boyut
|
||||
Name[ug]=چوڭلۇقى
|
||||
Name[uk]=Розмір
|
||||
Name[wa]=Grandeu
|
||||
Name[x-test]=xxSizexx
|
||||
Name[zh_CN]=大小
|
||||
Name[zh_TW]=大小
|
||||
|
||||
[Desktop Action supportedMedia]
|
||||
Name=Supported Media
|
||||
Name[ar]=الوسائط المدعومة
|
||||
Name[ast]=Medios sofitaos
|
||||
Name[bg]=Поддържана медия
|
||||
Name[bn]=সমর্থিত মিডিয়া
|
||||
Name[bs]=podržani medijumi
|
||||
Name[ca]=Suports acceptats
|
||||
Name[ca@valencia]=Suports acceptats
|
||||
Name[cs]=Podporovaná média
|
||||
Name[csb]=Wspiéróné media
|
||||
Name[da]=Understøttede medier
|
||||
Name[de]=Unterstützte Medien
|
||||
Name[el]=Υποστηριζόμενα μέσα
|
||||
Name[en_GB]=Supported Media
|
||||
Name[eo]=subtenataj Aŭdvidaĵoj
|
||||
Name[es]=Medios soportados
|
||||
Name[et]=Toetatud meedia
|
||||
Name[eu]=Onartzen diren euskarriak
|
||||
Name[fi]=Tuetut mediat
|
||||
Name[fr]=Média pris en charge
|
||||
Name[fy]=Stipe media
|
||||
Name[ga]=Meáin a dTacaítear Leo
|
||||
Name[gl]=Medios soportados
|
||||
Name[gu]=આધારિત મિડીઆ
|
||||
Name[he]=מדיה נתמכת
|
||||
Name[hi]=समर्थित मीडिया
|
||||
Name[hr]=Podržani mediji
|
||||
Name[hu]=Támogatott média
|
||||
Name[ia]=Media supportate
|
||||
Name[id]=Media Didukung
|
||||
Name[is]=Studdir miðlar
|
||||
Name[it]=Dispositivi supportati
|
||||
Name[ja]=サポートされているメディア
|
||||
Name[kk]=Тасушысы
|
||||
Name[km]=មេឌៀដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಮಾಧ್ಯಮ
|
||||
Name[ko]=지원하는 미디어
|
||||
Name[lt]=Palaikomi media tipai
|
||||
Name[lv]=Atbalstītie datu nesēji
|
||||
Name[mai]=समर्थित मीडिआ
|
||||
Name[mk]=Поддржани медиуми
|
||||
Name[ml]=പിന്തുണയുള്ള മാദ്ധ്യമം
|
||||
Name[mr]=समर्थीत मीडिया
|
||||
Name[nb]=Støttede medier
|
||||
Name[nds]=Ünnerstütt Schieven
|
||||
Name[nl]=Ondersteunde media
|
||||
Name[nn]=Støtta medium
|
||||
Name[pa]=ਸਹਾਇਕ ਮੀਡਿਆ
|
||||
Name[pl]=Obsługiwane nośniki
|
||||
Name[pt]=Discos Suportados
|
||||
Name[pt_BR]=Mídia suportada
|
||||
Name[ro]=Mediu susținut
|
||||
Name[ru]=Поддерживаемые носители
|
||||
Name[si]=සහාය දක්වන මාධ්යය
|
||||
Name[sk]=Podporované médiá
|
||||
Name[sl]=Podprti nosilci
|
||||
Name[sr]=подржани медијуми
|
||||
Name[sr@ijekavian]=подржани медијуми
|
||||
Name[sr@ijekavianlatin]=podržani medijumi
|
||||
Name[sr@latin]=podržani medijumi
|
||||
Name[sv]=Media som stöds
|
||||
Name[tg]=Медиаи мувофиқ
|
||||
Name[th]=สื่อที่รองรับ
|
||||
Name[tr]=Desteklenen Ortam
|
||||
Name[ug]=قوللايدىغان ۋاسىتىلەر
|
||||
Name[uk]=Підтримувані носії
|
||||
Name[wa]=Media sopoirté
|
||||
Name[x-test]=xxSupported Mediaxx
|
||||
Name[zh_CN]=支持的媒体
|
||||
Name[zh_TW]=支援的媒體
|
||||
|
||||
[Desktop Action writeSpeed]
|
||||
Name=Write Speed
|
||||
Name[ar]=سرعة الكتابة
|
||||
Name[ast]=Velocidá d'escritura
|
||||
Name[bg]=Скорост на запис
|
||||
Name[bn]=লেখার গতি
|
||||
Name[bs]=brzina pisanja
|
||||
Name[ca]=Velocitat d'escriptura
|
||||
Name[ca@valencia]=Velocitat d'escriptura
|
||||
Name[cs]=Rychlost zápisu
|
||||
Name[csb]=Chùtkòsc pisaniô
|
||||
Name[da]=Brændehastighed
|
||||
Name[de]=Schreibgeschwindigkeit
|
||||
Name[el]=Ταχύτητα εγγραφής
|
||||
Name[en_GB]=Write Speed
|
||||
Name[eo]=Skribrapideco
|
||||
Name[es]=Velocidad de escritura
|
||||
Name[et]=Kirjutamiskiirus
|
||||
Name[eu]=Idazketa-abiadura
|
||||
Name[fi]=Kirjoitusnopeus
|
||||
Name[fr]=Vitesse d'écriture
|
||||
Name[fy]=Skriuw fluggens
|
||||
Name[ga]=Luas Scríofa
|
||||
Name[gl]=Velocidade de gravación
|
||||
Name[gu]=લખવાની ઝડપ
|
||||
Name[he]=מהירות כתיבה
|
||||
Name[hi]=लेखन गति
|
||||
Name[hr]=Brzina pisanja
|
||||
Name[hu]=Írási sebesség
|
||||
Name[ia]=Velocitate de scriptura
|
||||
Name[id]=Kecepatan Tulis
|
||||
Name[is]=Skrifhraði
|
||||
Name[it]=Velocità in scrittura
|
||||
Name[ja]=書き込み速度
|
||||
Name[ka]=ჩაწერის სიჩქარე
|
||||
Name[kk]=Жазу жылдамдығы
|
||||
Name[km]=ល្បឿនសរសេរ
|
||||
Name[kn]=ಬರೆಯುವ ವೇಗ
|
||||
Name[ko]=쓰기 속도
|
||||
Name[lt]=Rašymo greitis
|
||||
Name[lv]=Rakstīšanas ātrums
|
||||
Name[mai]=लेखन गति
|
||||
Name[mk]=Брзина на запишување
|
||||
Name[ml]=എഴുത്തിന്റെ വേഗത
|
||||
Name[mr]=लिखाण वेग
|
||||
Name[nb]=Skrivehastighet
|
||||
Name[nds]=Schriev-Gauigkeit
|
||||
Name[nl]=Schrijfsnelheid
|
||||
Name[nn]=Skrivefart
|
||||
Name[pa]=ਲਿਖਣ ਸਪੀਡ
|
||||
Name[pl]=Szybkość zapisu
|
||||
Name[pt]=Velocidade de Gravação
|
||||
Name[pt_BR]=Velocidade de gravação
|
||||
Name[ro]=Viteză de scriere
|
||||
Name[ru]=Скорость записи
|
||||
Name[si]=ලිවීම් වේගය
|
||||
Name[sk]=Rýchlosť zápisu
|
||||
Name[sl]=Hitrost zapisovanja
|
||||
Name[sr]=брзина писања
|
||||
Name[sr@ijekavian]=брзина писања
|
||||
Name[sr@ijekavianlatin]=brzina pisanja
|
||||
Name[sr@latin]=brzina pisanja
|
||||
Name[sv]=Skrivhastighet
|
||||
Name[tg]=Суръати навиштан
|
||||
Name[th]=ความเร็วในการเขียนข้อมูล
|
||||
Name[tr]=Yazma Hızı
|
||||
Name[ug]=يېزىش تېزلىكى
|
||||
Name[uk]=Швидкість запису
|
||||
Name[wa]=Radisté d' sicrijhaedje
|
||||
Name[x-test]=xxWrite Speedxx
|
||||
Name[zh_CN]=写入速度
|
||||
Name[zh_TW]=寫入速度
|
||||
|
||||
[Desktop Action writeSpeeds]
|
||||
Name=Write Speeds
|
||||
Name[ar]=سرعات الكتابة
|
||||
Name[ast]=Velocidaes d'escritura
|
||||
Name[bg]=Скорости на запис
|
||||
Name[bn]=লেখার গতি
|
||||
Name[bs]=brzine pisanja
|
||||
Name[ca]=Velocitats d'escriptura
|
||||
Name[ca@valencia]=Velocitats d'escriptura
|
||||
Name[cs]=Rychlosti zápisu
|
||||
Name[csb]=Chùtkòscë pisaniô
|
||||
Name[da]=Brændehastigheder
|
||||
Name[de]=Schreibgeschwindigkeiten
|
||||
Name[el]=Ταχύτητες εγγραφής
|
||||
Name[en_GB]=Write Speeds
|
||||
Name[eo]=Skribrapidecoj
|
||||
Name[es]=Velocidades de escritura
|
||||
Name[et]=Kirjutamiskiirus
|
||||
Name[eu]=Idazketa-abiadurak
|
||||
Name[fi]=Kirjoitusnopeudet
|
||||
Name[fr]=Vitesses d'écriture
|
||||
Name[fy]=Skriuw fluggens
|
||||
Name[ga]=Luasanna Scríofa
|
||||
Name[gl]=Velocidades de gravación
|
||||
Name[gu]=લખવાની ઝડપો
|
||||
Name[he]=מהירויות כתיבה
|
||||
Name[hi]=लेखन गतियाँ
|
||||
Name[hr]=Brzine pisanja
|
||||
Name[hu]=Írási sebességek
|
||||
Name[ia]=Velocitates de scriptura
|
||||
Name[id]=Kecepatan Tulis
|
||||
Name[is]=Skrifhraðar
|
||||
Name[it]=Velocità in scrittura
|
||||
Name[ja]=書き込み速度
|
||||
Name[ka]=ჩაწერის სიჩქარეები
|
||||
Name[kk]=Жазу жылдамдықтары
|
||||
Name[km]=ល្បឿនសរសេរ
|
||||
Name[kn]=ಬರೆಯುವ ವೇಗಗಳು
|
||||
Name[ko]=지원하는 쓰기 속도
|
||||
Name[lt]=Rašymo greičiai
|
||||
Name[lv]=Rakstīšanas ātrumi
|
||||
Name[mai]=लेखन गति
|
||||
Name[mk]=Брзини на запишување
|
||||
Name[ml]=എഴുത്തിന്റെ വേഗതകള്
|
||||
Name[mr]=लिखाण वेग
|
||||
Name[nb]=Skrivehastigheter
|
||||
Name[nds]=Schriev-Gauigkeiten
|
||||
Name[nl]=Schrijfsnelheden
|
||||
Name[nn]=Skrivefartar
|
||||
Name[pa]=ਲਿਖਣ ਸਪੀਡ
|
||||
Name[pl]=Szybkości zapisu
|
||||
Name[pt]=Velocidades de Gravação
|
||||
Name[pt_BR]=Velocidades de gravação
|
||||
Name[ro]=Viteze de scriere
|
||||
Name[ru]=Скорости записи
|
||||
Name[si]=ලිවීම් වේග
|
||||
Name[sk]=Rýchlosti zápisu
|
||||
Name[sl]=Hitrosti zapisovanja
|
||||
Name[sr]=брзине писања
|
||||
Name[sr@ijekavian]=брзине писања
|
||||
Name[sr@ijekavianlatin]=brzine pisanja
|
||||
Name[sr@latin]=brzine pisanja
|
||||
Name[sv]=Skrivhastigheter
|
||||
Name[tg]=Суръатҳои навиштан
|
||||
Name[th]=ความเร็วในการเขียนข้อมูล
|
||||
Name[tr]=yazma Hızları
|
||||
Name[ug]=يېزىش تېزلىكى
|
||||
Name[uk]=Швидкості запису
|
||||
Name[wa]=Radistés d' sicrijhaedje
|
||||
Name[x-test]=xxWrite Speedsxx
|
||||
Name[zh_CN]=写入速度
|
||||
Name[zh_TW]=寫入速度
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=bus;driveType;hotpluggable;readSpeed;removable;size;supportedMedia;writeSpeed;writeSpeeds;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=OpticalDrive
|
|
@ -1,215 +0,0 @@
|
|||
[Desktop Action supportedDrivers]
|
||||
Name=Supported Drivers
|
||||
Name[ar]=المشغلات المدعومة
|
||||
Name[ast]=Controladores sofitaos
|
||||
Name[bg]=Поддържани драйвери
|
||||
Name[bn]=সমর্থিত ড্রাইভার
|
||||
Name[bs]=podržani drajveri
|
||||
Name[ca]=Controladors acceptats
|
||||
Name[ca@valencia]=Controladors acceptats
|
||||
Name[cs]=Podporované ovladače
|
||||
Name[csb]=Wspiéróné czérowniczi
|
||||
Name[da]=Understøttede drivere
|
||||
Name[de]=Unterstützte Treiber
|
||||
Name[el]=Υποστηριζόμενοι οδηγοί
|
||||
Name[en_GB]=Supported Drivers
|
||||
Name[eo]=subtenataj Peliloj
|
||||
Name[es]=Dispositivos soportados
|
||||
Name[et]=Toetatud draiverid
|
||||
Name[eu]=Onartutzen diren gidariak
|
||||
Name[fi]=Tuetut ajurit
|
||||
Name[fr]=Pilotes pris en charge
|
||||
Name[fy]=Stipe stjoerprogramma's
|
||||
Name[ga]=Tiománaithe a dTacaítear Leo
|
||||
Name[gl]=Controladores soportados
|
||||
Name[gu]=આધારિત ડ્રાઇવરો
|
||||
Name[he]=מנהלי התקנים נתמכים
|
||||
Name[hi]=समर्थित ड्राईवर
|
||||
Name[hr]=Podržani pisači
|
||||
Name[hu]=Támogatott meghajtók
|
||||
Name[ia]=Drivers supportate
|
||||
Name[id]=Penggerak Didukung
|
||||
Name[is]=Studdir reklar
|
||||
Name[it]=Driver supportati
|
||||
Name[ja]=サポートされているドライバ
|
||||
Name[kk]=Қолдайтын драйверлері
|
||||
Name[km]=កម្មវិធីបញ្ជាដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಚಾಲಕಗಳು
|
||||
Name[ko]=지원하는 드라이버
|
||||
Name[lt]=Palaikomos tvarkyklės
|
||||
Name[lv]=Atbalstītie draiveri
|
||||
Name[mai]=समर्थित ड्राइवर
|
||||
Name[mk]=Поддржани управувачи
|
||||
Name[ml]=പിന്തുണയുള്ള സാരഥികള്
|
||||
Name[mr]=समर्थीत ड्राइव्हर्स
|
||||
Name[nb]=Støttede drivere
|
||||
Name[nds]=Ünnerstütt Drievers
|
||||
Name[nl]=Ondersteunde stuurprogramma's
|
||||
Name[nn]=Støtta drivarar
|
||||
Name[pa]=ਸਹਾਇਕ ਡਰਾਇਵਰ
|
||||
Name[pl]=Obsługiwane sterowniki
|
||||
Name[pt]=Controladores Suportados
|
||||
Name[pt_BR]=Drivers suportados
|
||||
Name[ro]=Drivere susținute
|
||||
Name[ru]=Поддерживаемые драйверы
|
||||
Name[si]=සහාය දක්වන ධාවක
|
||||
Name[sk]=Podporované ovládače
|
||||
Name[sl]=Podprti gonilniki
|
||||
Name[sr]=подржани драјвери
|
||||
Name[sr@ijekavian]=подржани драјвери
|
||||
Name[sr@ijekavianlatin]=podržani drajveri
|
||||
Name[sr@latin]=podržani drajveri
|
||||
Name[sv]=Drivrutiner som stöds
|
||||
Name[tg]=Дастгоҳҳои мувофиқ
|
||||
Name[th]=ไดรเวอร์ที่รองรับ
|
||||
Name[tr]=Desteklenen Sürücüler
|
||||
Name[ug]=قوللايدىغان قوزغاتقۇلار
|
||||
Name[uk]=Підтримувані драйвери
|
||||
Name[wa]=Mineus sopoirtés
|
||||
Name[x-test]=xxSupported Driversxx
|
||||
Name[zh_CN]=支持的驱动
|
||||
Name[zh_TW]=支援的驅動程式
|
||||
|
||||
[Desktop Action supportedProtocols]
|
||||
Name=Supported Protocols
|
||||
Name[ar]=البروتوكولات المدعومة
|
||||
Name[ast]=Protocolos sofitaos
|
||||
Name[bg]=Поддържани протоколи
|
||||
Name[bn]=সমর্থিত প্রোটোকল
|
||||
Name[bs]=podržani protokoli
|
||||
Name[ca]=Protocols acceptats
|
||||
Name[ca@valencia]=Protocols acceptats
|
||||
Name[cs]=Podporované protokoly
|
||||
Name[csb]=Wspiéróné protokòłë
|
||||
Name[da]=Understøttede protokoller
|
||||
Name[de]=Unterstützte Protokolle
|
||||
Name[el]=Υποστηριζόμενα πρωτόκολλα
|
||||
Name[en_GB]=Supported Protocols
|
||||
Name[eo]=Subtenitaj Protokoloj
|
||||
Name[es]=Protocolos soportados
|
||||
Name[et]=Toetatud protokollid
|
||||
Name[eu]=Onartzen diren protokoloak
|
||||
Name[fi]=Tuetut yhteyskäytännöt
|
||||
Name[fr]=Protocoles pris en charge
|
||||
Name[fy]=Stipe protokollen
|
||||
Name[ga]=Prótacail a dTacaítear Leo
|
||||
Name[gl]=Protocolos soportados
|
||||
Name[gu]=આધારિત પ્રોટોકોલ્સ
|
||||
Name[he]=פרוטוקולים נתמכים
|
||||
Name[hi]=समर्थित प्रोटोकॉल
|
||||
Name[hr]=Podržani Protokoli
|
||||
Name[hu]=Támogatott protokollok
|
||||
Name[ia]=Protocollos supportate
|
||||
Name[id]=Protokol Didukung
|
||||
Name[is]=Studdar samskiptareglur
|
||||
Name[it]=Protocolli supportati
|
||||
Name[ja]=サポートされているプロトコル
|
||||
Name[kk]=Қолдайтын протоколдары
|
||||
Name[km]=ពិពីការដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಪ್ರಕ್ರಮಗಳು (ಪ್ರೋಟೋಕಾಲ್)
|
||||
Name[ko]=지원하는 프로토콜
|
||||
Name[lt]=Palaikomi protokolai
|
||||
Name[lv]=Atbalstītie protokoli
|
||||
Name[mk]=Поддржани протоколи
|
||||
Name[ml]=പിന്തുണയ്ക്കുന്ന സമ്പ്രദായങ്ങള്
|
||||
Name[mr]=समर्थीत शिष्टाचार
|
||||
Name[nb]=Støttede protokoller
|
||||
Name[nds]=Ünnerstütt Protokollen
|
||||
Name[nl]=Ondersteunde protocollen
|
||||
Name[nn]=Støtta protokollar
|
||||
Name[pa]=ਸਹਾਇਕ ਪਰੋਟੋਕਾਲ
|
||||
Name[pl]=Obsługiwane protokoły
|
||||
Name[pt]=Protocolos Suportados
|
||||
Name[pt_BR]=Protocolos suportados
|
||||
Name[ro]=Protocoale susținute
|
||||
Name[ru]=Поддерживаемые протоколы
|
||||
Name[si]=සහාය දක්වන ක්රියා පටිපාටි
|
||||
Name[sk]=Podporované protokoly
|
||||
Name[sl]=Podprti protokoli
|
||||
Name[sr]=подржани протоколи
|
||||
Name[sr@ijekavian]=подржани протоколи
|
||||
Name[sr@ijekavianlatin]=podržani protokoli
|
||||
Name[sr@latin]=podržani protokoli
|
||||
Name[sv]=Protokoll som stöds
|
||||
Name[tg]=Протоколҳо
|
||||
Name[th]=โพรโทคอลที่รองรับ
|
||||
Name[tr]=Desteklenen Protokoller
|
||||
Name[ug]=قوللايدىغان كېلىشىملەر
|
||||
Name[uk]=Підтримувані протоколи
|
||||
Name[wa]=Protocoles sopoirtés
|
||||
Name[x-test]=xxSupported Protocolsxx
|
||||
Name[zh_CN]=支持的协议
|
||||
Name[zh_TW]=支援的協定
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=supportedDrivers;supportedProtocols;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=PortableMediaPlayer
|
|
@ -1,355 +0,0 @@
|
|||
[Desktop Action canChangeFrequency]
|
||||
Name=Can Change Frequency
|
||||
Name[ar]=يمكنه تغير التردد
|
||||
Name[ast]=Pues camudar la frecuencia
|
||||
Name[bg]=Може да променя честотата
|
||||
Name[bn]=কম্পাঙ্ক বদলাতে পারে
|
||||
Name[bs]=može da mijenja takt
|
||||
Name[ca]=Pot canviar la freqüència
|
||||
Name[ca@valencia]=Pot canviar la freqüència
|
||||
Name[cs]=Může měnit frekvenci
|
||||
Name[da]=Kan skifte frekvens
|
||||
Name[de]=Kann die Frequenz wechseln
|
||||
Name[el]=Δυνατότητα αλλαγής συχνότητας
|
||||
Name[en_GB]=Can Change Frequency
|
||||
Name[es]=Puede cambiar la frecuencia
|
||||
Name[et]=Muudetava sagedusega
|
||||
Name[eu]=Maiztasuna alda daiteke
|
||||
Name[fi]=Osaa vaihtaa taajuutta
|
||||
Name[fr]=Fréquence modifiable
|
||||
Name[fy]=Kin frekwinsje feroarje
|
||||
Name[ga]=Is Féidir Minicíocht a Athrú
|
||||
Name[gl]=Pode mudar a frecuencia
|
||||
Name[gu]=આવૃત્તિ બદલી શકે છે
|
||||
Name[he]=יכול לשנות תדירות
|
||||
Name[hi]=आवृत्ति बदल सकता है
|
||||
Name[hr]=Može mijenjati frekvenciju
|
||||
Name[hu]=Frekvenciaváltás lehetséges
|
||||
Name[ia]=Il pote cambiar frequentia
|
||||
Name[id]=Dapat Mengubah Frekuensi
|
||||
Name[is]=Getur breytt tíðni
|
||||
Name[it]=Può cambiare frequenza
|
||||
Name[ja]=周波数の変更が可能
|
||||
Name[kk]=Жиілігі өзгермелі
|
||||
Name[km]=អាចផ្លាស់ប្ដូរប្រេកង់
|
||||
Name[kn]=ಕಂಪನ ದರ(frequency) ವನ್ನು ಬದಲಾಯಿಸಬಹುದು
|
||||
Name[ko]=주파수 변경 가능
|
||||
Name[lt]=Gali leisti dažnumą
|
||||
Name[lv]=Var mainīt frekvenci
|
||||
Name[mai]=आवृति बदलि सकैत अछि
|
||||
Name[mk]=Може да смени фреквенција
|
||||
Name[ml]=ആവര്ത്തി മാറ്റാവുന്നത്
|
||||
Name[mr]=फ्रिक्वेन्सी बदलू शकतो
|
||||
Name[nb]=Kan endre frekvens
|
||||
Name[nds]=Kann Frequenz wesseln
|
||||
Name[nl]=Kan de frequentie wijzigen
|
||||
Name[nn]=Frekvens som kan endrast
|
||||
Name[pa]=ਫਰੀਕਿਊਂਸੀ ਬਦਲੀ ਜਾ ਸਕਦੀ ਹੈ
|
||||
Name[pl]=Z możliwością zmiany częstotliwości
|
||||
Name[pt]=Pode Variar a Frequência
|
||||
Name[pt_BR]=Pode alterar a frequência
|
||||
Name[ro]=Poate schimba frecvența
|
||||
Name[ru]=Возможность изменения частоты
|
||||
Name[si]=සංඛ්යාතය වෙනස් කල හැක
|
||||
Name[sk]=Môže meniť frekvenciu
|
||||
Name[sl]=Lahko spreminja hitrost
|
||||
Name[sr]=може да мења такт
|
||||
Name[sr@ijekavian]=може да мијења такт
|
||||
Name[sr@ijekavianlatin]=može da mijenja takt
|
||||
Name[sr@latin]=može da menja takt
|
||||
Name[sv]=Kan ändra frekvens
|
||||
Name[th]=สามารถเปลี่ยนความถี่ได้
|
||||
Name[tr]=Frekansı Değiştirilebilir
|
||||
Name[ug]=چاستوتىسىنى ئۆزگەرتكىلى بولىدۇ
|
||||
Name[uk]=Може змінювати частоту
|
||||
Name[vi]=Có thể thay đổi tần số
|
||||
Name[wa]=Sait candjî d frecwince
|
||||
Name[x-test]=xxCan Change Frequencyxx
|
||||
Name[zh_CN]=可更改频率
|
||||
Name[zh_TW]=可變更頻率
|
||||
|
||||
[Desktop Action instructionSets]
|
||||
Name=Instruction Sets
|
||||
Name[ar]=مجموعة الأوامر
|
||||
Name[ast]=Conxuntu d'instrucciones
|
||||
Name[bg]=Набор инструкции
|
||||
Name[bn]=ইনস্ট্রাকশন সেট
|
||||
Name[bs]=skup instrukcija
|
||||
Name[ca]=Jocs d'instruccions
|
||||
Name[ca@valencia]=Jocs d'instruccions
|
||||
Name[cs]=Instrukční sady
|
||||
Name[da]=Instruktionssæt
|
||||
Name[de]=Instruktions-Sätze
|
||||
Name[el]=Σύνολα εντολών
|
||||
Name[en_GB]=Instruction Sets
|
||||
Name[es]=Conjunto de instrucciones
|
||||
Name[et]=Käsustikud
|
||||
Name[eu]=Instrukzio sortak
|
||||
Name[fi]=Käskyjoukko
|
||||
Name[fr]=Jeux d'instructions
|
||||
Name[fy]=Ynstruksje set
|
||||
Name[ga]=Tacair Treoracha
|
||||
Name[gl]=Xogo de instrucións
|
||||
Name[gu]=સૂચના સમૂહો
|
||||
Name[he]=אוסף פקודות
|
||||
Name[hi]=अनुदेश सेट
|
||||
Name[hr]=Instrukcijski skup
|
||||
Name[hu]=Utasításkészletek
|
||||
Name[ia]=Insimules de instruction
|
||||
Name[id]=Perangkat Instruksi
|
||||
Name[is]=Inntaksaðgerðir (instruction sets)
|
||||
Name[it]=Serie di istruzioni
|
||||
Name[ja]=命令セット
|
||||
Name[kk]=Нұсқаулар жиыны
|
||||
Name[km]=សំណុំសេចក្ដីណែនាំ
|
||||
Name[kn]=ಸೂಚನೆಗಳು
|
||||
Name[ko]=명령어 집합
|
||||
Name[lt]=Instrukcijų rinkiniai
|
||||
Name[lv]=Instrukciju kopas
|
||||
Name[mk]=Инструкциски множества
|
||||
Name[ml]=നിര്ദ്ദേശ ഗണം
|
||||
Name[mr]=आज्ञा संच
|
||||
Name[nb]=Instruksjonssett
|
||||
Name[nds]=Anwiesen-Setten
|
||||
Name[nl]=Instructiesets
|
||||
Name[nn]=Instruksjonssett
|
||||
Name[pa]=ਹਦਾਇਤ ਸੈੱਟ
|
||||
Name[pl]=Zestawy instrukcji
|
||||
Name[pt]=Conjuntos de Instruções
|
||||
Name[pt_BR]=Conjuntos de instruções
|
||||
Name[ro]=Seturi de instrucțiuni
|
||||
Name[ru]=Наборы команд
|
||||
Name[si]=උපදෙස් මාලා
|
||||
Name[sk]=Inštrukčné sady
|
||||
Name[sl]=Nabori ukazov
|
||||
Name[sr]=скуп инструкција
|
||||
Name[sr@ijekavian]=скуп инструкција
|
||||
Name[sr@ijekavianlatin]=skup instrukcija
|
||||
Name[sr@latin]=skup instrukcija
|
||||
Name[sv]=Instruktionsuppsättningar
|
||||
Name[tg]=Тарзи вуруд
|
||||
Name[th]=ชุดคำสั่งต่าง ๆ
|
||||
Name[tr]=Yönerge Ayarları
|
||||
Name[ug]=پەرمان توپلىمى
|
||||
Name[uk]=Набори команд
|
||||
Name[vi]=Tập lệnh
|
||||
Name[wa]=Djeus d' instruccion
|
||||
Name[x-test]=xxInstruction Setsxx
|
||||
Name[zh_CN]=指令集
|
||||
Name[zh_TW]=指令集
|
||||
|
||||
[Desktop Action maxSpeed]
|
||||
Name=Max Speed
|
||||
Name[ar]=السرعة القصوى
|
||||
Name[ast]=Velocidá máx.
|
||||
Name[bg]=Макс. скорост
|
||||
Name[bn]=সর্বোচ্চ গতি
|
||||
Name[bs]=najveća brzina
|
||||
Name[ca]=Velocitat màxima
|
||||
Name[ca@valencia]=Velocitat màxima
|
||||
Name[cs]=Maximální rychlost
|
||||
Name[csb]=Maksymalnô chùtkòsc
|
||||
Name[da]=Maks. hastighed
|
||||
Name[de]=Maximalgeschwindigkeit
|
||||
Name[el]=Μέγιστη ταχύτητα
|
||||
Name[en_GB]=Max Speed
|
||||
Name[eo]=Maksimuma Rapideco
|
||||
Name[es]=Velocidad máx.
|
||||
Name[et]=Maks. kiirus
|
||||
Name[eu]=Gehienezko abiadura
|
||||
Name[fi]=Enimmäisnopeus
|
||||
Name[fr]=Vitesse maximale
|
||||
Name[fy]=Maks. fluggens
|
||||
Name[ga]=Uasluas
|
||||
Name[gl]=Velocidade máxima
|
||||
Name[gu]=મહત્તમ ઝડપ
|
||||
Name[he]=מהירות מירבית
|
||||
Name[hi]=अधिकतम गति
|
||||
Name[hr]=Maksimalna brzina
|
||||
Name[hu]=Max. sebesség
|
||||
Name[ia]=Velocitate maxime
|
||||
Name[id]=Kecepatan Maks
|
||||
Name[is]=Mesti hraði
|
||||
Name[it]=Velocità massima
|
||||
Name[ja]=最大速度
|
||||
Name[ka]=მაქს. სიჩქარე
|
||||
Name[kk]=Жылдамдығының шегі
|
||||
Name[km]=ល្បឿនអតិបរមា
|
||||
Name[kn]=ಗರಿಷ್ಟ ವೇಗ
|
||||
Name[ko]=최대 속도
|
||||
Name[lt]=Maksimalus greitis
|
||||
Name[lv]=Maks ātrums
|
||||
Name[mk]=Maкc. брзина
|
||||
Name[ml]=കൂടിയ വേഗം
|
||||
Name[mr]=कमाल वेग
|
||||
Name[nb]=Maks. hastighet
|
||||
Name[nds]=Hööchst Gauigkeit
|
||||
Name[nl]=Maximale snelheid
|
||||
Name[nn]=Maksfart
|
||||
Name[pa]=ਵੱਧੋ-ਵੱਧ ਸਪੀਡ
|
||||
Name[pl]=Maksymalna szybkość
|
||||
Name[pt]=Velocidade Máxima
|
||||
Name[pt_BR]=Velocidade máxima
|
||||
Name[ro]=Viteză maximă
|
||||
Name[ru]=Максимальная скорость
|
||||
Name[si]=උපරිම වේගය
|
||||
Name[sk]=Maximálna rýchlosť
|
||||
Name[sl]=Največja hitrost
|
||||
Name[sr]=највећа брзина
|
||||
Name[sr@ijekavian]=највећа брзина
|
||||
Name[sr@ijekavianlatin]=najveća brzina
|
||||
Name[sr@latin]=najveća brzina
|
||||
Name[sv]=Maximal hastighet
|
||||
Name[tg]=Суръати тезтарин
|
||||
Name[th]=ความเร็วสูงสุด
|
||||
Name[tr]=En Yüksek Hız
|
||||
Name[ug]=ئەڭ چوڭ تېزلىك
|
||||
Name[uk]=Макс. швидкість
|
||||
Name[wa]=Radisté macsimom
|
||||
Name[x-test]=xxMax Speedxx
|
||||
Name[zh_CN]=最大速度
|
||||
Name[zh_TW]=最大速率
|
||||
|
||||
[Desktop Action number]
|
||||
Name=Number
|
||||
Name[ar]=الرقم
|
||||
Name[ast]=Númberu
|
||||
Name[bg]=Номер
|
||||
Name[bn]=সংখ্যা
|
||||
Name[bs]=broj
|
||||
Name[ca]=Número
|
||||
Name[ca@valencia]=Número
|
||||
Name[cs]=Číslo
|
||||
Name[csb]=Numer
|
||||
Name[da]=Nummer
|
||||
Name[de]=Nummer
|
||||
Name[el]=Αριθμός
|
||||
Name[en_GB]=Number
|
||||
Name[eo]=Nombro
|
||||
Name[es]=Número
|
||||
Name[et]=Arv
|
||||
Name[eu]=Zenbakia
|
||||
Name[fi]=Numero
|
||||
Name[fr]=Numéro
|
||||
Name[fy]=Nûmer
|
||||
Name[ga]=Uimhir
|
||||
Name[gl]=Número
|
||||
Name[gu]=ક્રમ
|
||||
Name[he]=מספר
|
||||
Name[hi]=संख्या
|
||||
Name[hr]=Broj
|
||||
Name[hu]=Szám
|
||||
Name[ia]=Numero
|
||||
Name[id]=Nomor
|
||||
Name[is]=Fjöldi
|
||||
Name[it]=Numero
|
||||
Name[ja]=番号
|
||||
Name[kk]=Нөмірі
|
||||
Name[km]=លេខ
|
||||
Name[kn]=ಸಂಖ್ಯೆ
|
||||
Name[ko]=숫자
|
||||
Name[lt]=Skaičius
|
||||
Name[lv]=Numurs
|
||||
Name[mk]=Број
|
||||
Name[ml]=അക്കം
|
||||
Name[mr]=क्रमांक
|
||||
Name[nb]=Tall
|
||||
Name[nds]=Nummer
|
||||
Name[nl]=Nummer
|
||||
Name[nn]=Nummer
|
||||
Name[pa]=ਗਿਣਤੀ
|
||||
Name[pl]=Numer
|
||||
Name[pt]=Número
|
||||
Name[pt_BR]=Número
|
||||
Name[ro]=Număr
|
||||
Name[ru]=Номер
|
||||
Name[si]=අංකය
|
||||
Name[sk]=Číslo
|
||||
Name[sl]=Število
|
||||
Name[sr]=број
|
||||
Name[sr@ijekavian]=број
|
||||
Name[sr@ijekavianlatin]=broj
|
||||
Name[sr@latin]=broj
|
||||
Name[sv]=Antal
|
||||
Name[tg]=Рақам
|
||||
Name[th]=จำนวน
|
||||
Name[tr]=Numara
|
||||
Name[ug]=نومۇرى
|
||||
Name[uk]=Номер
|
||||
Name[wa]=Nombe
|
||||
Name[x-test]=xxNumberxx
|
||||
Name[zh_CN]=数值
|
||||
Name[zh_TW]=數字
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=canChangeFrequency;instructionSets;maxSpeed;number;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Processor
|
|
@ -1,217 +0,0 @@
|
|||
[Desktop Action accessible]
|
||||
Name=Accessible
|
||||
Name[ar]=متاح
|
||||
Name[ast]=Accesible
|
||||
Name[bg]=Достъпен
|
||||
Name[bn]=সহায়ক প্রযুক্তি
|
||||
Name[bs]=pristupan
|
||||
Name[ca]=Accessible
|
||||
Name[ca@valencia]=Accessible
|
||||
Name[cs]=Přístupné
|
||||
Name[csb]=Pòmòce przëstãpù
|
||||
Name[da]=Tilgængelig
|
||||
Name[de]=Verfügbar
|
||||
Name[el]=Προσβάσιμο
|
||||
Name[en_GB]=Accessible
|
||||
Name[eo]=Atingebla
|
||||
Name[es]=Accesible
|
||||
Name[et]=Juurdepääsuga
|
||||
Name[eu]=Eskuragarri
|
||||
Name[fi]=Saatavilla
|
||||
Name[fr]=Accessible
|
||||
Name[fy]=Tagonklik
|
||||
Name[ga]=Inrochtana
|
||||
Name[gl]=Accesíbel
|
||||
Name[gu]=ઉપયોગી
|
||||
Name[he]=נגיש
|
||||
Name[hi]=पहुँच योग्य
|
||||
Name[hr]=Pristupačan
|
||||
Name[hu]=Elérhető
|
||||
Name[ia]=Accessibile
|
||||
Name[id]=Dapat Diakses
|
||||
Name[is]=Aðgengilegt
|
||||
Name[it]=Accessibile
|
||||
Name[ja]=アクセス可能
|
||||
Name[kk]=Қол жетерлік
|
||||
Name[km]=អាចចូលដំណើរការបាន
|
||||
Name[kn]=ನಿಲುಕಬಲ್ಲ
|
||||
Name[ko]=접근 가능 여부
|
||||
Name[lt]=Prieinamas
|
||||
Name[lv]=Pieejams
|
||||
Name[mk]=Пристапно
|
||||
Name[ml]=സാമീപിയ്ക്കാവുന്നതു്
|
||||
Name[mr]=सुलभ
|
||||
Name[nb]=Tilgjengelig
|
||||
Name[nds]=Togriepbor
|
||||
Name[nl]=Toegankelijk
|
||||
Name[nn]=Tilgjengeleg
|
||||
Name[pa]=ਸਹੂਲਤਾਂ
|
||||
Name[pl]=Dostępny
|
||||
Name[pt]=Acessível
|
||||
Name[pt_BR]=Acessível
|
||||
Name[ro]=Accesibil
|
||||
Name[ru]=Доступно
|
||||
Name[si]=ප්රවේශවිය හැකි
|
||||
Name[sk]=Prístupné
|
||||
Name[sl]=Dostopno
|
||||
Name[sr]=приступан
|
||||
Name[sr@ijekavian]=приступан
|
||||
Name[sr@ijekavianlatin]=pristupan
|
||||
Name[sr@latin]=pristupan
|
||||
Name[sv]=Tillgänglig
|
||||
Name[tg]=Имкониятҳо
|
||||
Name[th]=เข้าถึงได้
|
||||
Name[tr]=Erişilebilir
|
||||
Name[ug]=زىيارەتچان
|
||||
Name[uk]=Доступний
|
||||
Name[vi]=Truy cập được
|
||||
Name[wa]=Arinnåve
|
||||
Name[x-test]=xxAccessiblexx
|
||||
Name[zh_CN]=可访问
|
||||
Name[zh_TW]=可存取
|
||||
|
||||
[Desktop Action filePath]
|
||||
Name=File Path
|
||||
Name[ar]=مسار الملف
|
||||
Name[ast]=Camín a ficheru
|
||||
Name[bg]=Път до файл
|
||||
Name[bn]=ফাইল পাথ
|
||||
Name[bs]=putanja datoteke
|
||||
Name[ca]=Camí al fitxer
|
||||
Name[ca@valencia]=Camí al fitxer
|
||||
Name[cs]=Cesta k souboru
|
||||
Name[csb]=Stegna lopka
|
||||
Name[da]=Filsti
|
||||
Name[de]=Dateipfad
|
||||
Name[el]=Διαδρομή αρχείου
|
||||
Name[en_GB]=File Path
|
||||
Name[eo]=Dosiervojo
|
||||
Name[es]=Ruta a archivo
|
||||
Name[et]=Faili asukoht
|
||||
Name[eu]=Fitxategiaren bide-izena
|
||||
Name[fa]=مسیر پرونده
|
||||
Name[fi]=Tiedostopolku
|
||||
Name[fr]=Emplacement du fichier
|
||||
Name[fy]=Triem paad
|
||||
Name[ga]=Conair Chomhaid
|
||||
Name[gl]=Ruta ao ficheiro
|
||||
Name[gu]=ફાઇલ પાથ
|
||||
Name[he]=נתיב קובץ
|
||||
Name[hi]=फ़ाइल पथ
|
||||
Name[hr]=Putanja datoteke
|
||||
Name[hu]=Elérési út
|
||||
Name[ia]=Percurso de file
|
||||
Name[id]=Alamat Berkas
|
||||
Name[is]=Skráarslóð
|
||||
Name[it]=Percorso di file
|
||||
Name[ja]=ファイルのパス
|
||||
Name[kk]=Файл жолы
|
||||
Name[km]=ផ្លូវឯកសារ
|
||||
Name[kn]=ಕಡತದ ಮಾರ್ಗ
|
||||
Name[ko]=파일 경로
|
||||
Name[lt]=Failo kelias
|
||||
Name[lv]=Faila ceļš
|
||||
Name[mk]=Патека на датотека
|
||||
Name[ml]=ഫയല് വഴി
|
||||
Name[mr]=फाईलचा मार्ग
|
||||
Name[nb]=Filsti
|
||||
Name[nds]=Dateipadd
|
||||
Name[nl]=Bestandspad
|
||||
Name[nn]=Filadresse
|
||||
Name[pa]=ਫਾਇਲ ਪਾਥ
|
||||
Name[pl]=Ścieżka do pliku
|
||||
Name[pt]=Localização do Ficheiro
|
||||
Name[pt_BR]=Caminho do arquivo
|
||||
Name[ro]=Calea fișierului
|
||||
Name[ru]=Путь к файлу
|
||||
Name[si]=ගොනු පෙත
|
||||
Name[sk]=Cesta k súboru
|
||||
Name[sl]=Pot do datoteke
|
||||
Name[sr]=путања фајла
|
||||
Name[sr@ijekavian]=путања фајла
|
||||
Name[sr@ijekavianlatin]=putanja fajla
|
||||
Name[sr@latin]=putanja fajla
|
||||
Name[sv]=Filsökväg
|
||||
Name[tg]=Роҳи файл
|
||||
Name[th]=พาธของแฟ้ม
|
||||
Name[tr]=Dosya Yolu
|
||||
Name[ug]=ھۆججەت يولى
|
||||
Name[uk]=Шлях до файла
|
||||
Name[vi]=Đường dẫn tập tin
|
||||
Name[wa]=Tchimin do fitchî
|
||||
Name[x-test]=xxFile Pathxx
|
||||
Name[zh_CN]=文件路径
|
||||
Name[zh_TW]=檔案路徑
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=accessible;filePath;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=StorageAccess
|
|
@ -1,434 +0,0 @@
|
|||
[Desktop Action bus]
|
||||
Name=Bus
|
||||
Name[ar]=الناقل
|
||||
Name[ast]=Bus
|
||||
Name[bg]=Шина
|
||||
Name[bn]=বাস
|
||||
Name[bs]=magistrala
|
||||
Name[ca]=Bus
|
||||
Name[ca@valencia]=Bus
|
||||
Name[cs]=Sběrnice
|
||||
Name[csb]=Bus
|
||||
Name[da]=Bus
|
||||
Name[de]=Bus
|
||||
Name[el]=Δίαυλος
|
||||
Name[en_GB]=Bus
|
||||
Name[eo]=Buso
|
||||
Name[es]=Bus
|
||||
Name[et]=Siin
|
||||
Name[eu]=Busa
|
||||
Name[fa]=گذرگاه
|
||||
Name[fi]=Väylä
|
||||
Name[fr]=Bus
|
||||
Name[fy]=Bus
|
||||
Name[ga]=Bus
|
||||
Name[gl]=Bus
|
||||
Name[gu]=બસ
|
||||
Name[he]=אפיק
|
||||
Name[hi]=बस
|
||||
Name[hr]=Sabirnica
|
||||
Name[hu]=Busz
|
||||
Name[ia]=Bus
|
||||
Name[id]=Bus
|
||||
Name[is]=Rás (bus)
|
||||
Name[it]=Bus
|
||||
Name[ja]=バス
|
||||
Name[ka]=სალტე
|
||||
Name[kk]=Шинасы
|
||||
Name[km]=ខ្សែបញ្ជូន
|
||||
Name[kn]=ಬಸ್
|
||||
Name[ko]=버스
|
||||
Name[lt]=Magistralė
|
||||
Name[lv]=Kopne
|
||||
Name[mk]=Магистрала
|
||||
Name[ml]=ബസ്
|
||||
Name[mr]=बस
|
||||
Name[nb]=Buss
|
||||
Name[nds]=Bus
|
||||
Name[nl]=Bus
|
||||
Name[nn]=Buss
|
||||
Name[pa]=ਬਸ
|
||||
Name[pl]=Szyna
|
||||
Name[pt]=Barramento
|
||||
Name[pt_BR]=Barramento
|
||||
Name[ro]=Magistrală
|
||||
Name[ru]=Шина
|
||||
Name[si]=Bus
|
||||
Name[sk]=Zbernica
|
||||
Name[sl]=Vodilo
|
||||
Name[sr]=магистрала
|
||||
Name[sr@ijekavian]=магистрала
|
||||
Name[sr@ijekavianlatin]=magistrala
|
||||
Name[sr@latin]=magistrala
|
||||
Name[sv]=Buss
|
||||
Name[tg]=Белоруссия
|
||||
Name[th]=ระบบบัส
|
||||
Name[tr]=Yol
|
||||
Name[ug]=باش لىنىيە
|
||||
Name[uk]=Шина
|
||||
Name[wa]=Bus
|
||||
Name[x-test]=xxBusxx
|
||||
Name[zh_CN]=总线
|
||||
Name[zh_TW]=匯流排
|
||||
|
||||
[Desktop Action driveType]
|
||||
Name=Drive Type
|
||||
Name[ar]=نوع المشغل
|
||||
Name[ast]=Triba de discu
|
||||
Name[bg]=Вид устройство
|
||||
Name[bn]=ড্রাইভ-এর ধরন
|
||||
Name[bs]=tip jedinice
|
||||
Name[ca]=Tipus d'unitat
|
||||
Name[ca@valencia]=Tipus d'unitat
|
||||
Name[cs]=Typ mechaniky
|
||||
Name[csb]=Ôrt nëka
|
||||
Name[da]=Drevtype
|
||||
Name[de]=Laufwerkstyp
|
||||
Name[el]=Τύπος οδηγού
|
||||
Name[en_GB]=Drive Type
|
||||
Name[eo]=Tipo de Diskingo
|
||||
Name[es]=Tipo de disco
|
||||
Name[et]=Seadme tüüp
|
||||
Name[eu]=Unitate mota
|
||||
Name[fi]=Asematyyppi
|
||||
Name[fr]=Type de lecteur
|
||||
Name[fy]=Stasjons type
|
||||
Name[ga]=Cineál an Tiomántáin
|
||||
Name[gl]=Tipo de dispositivo
|
||||
Name[gu]=ડ્રાઇવ પ્રકાર
|
||||
Name[he]=סוג כונן
|
||||
Name[hi]=ड्राईव प्रकार
|
||||
Name[hr]=Tip uređaja
|
||||
Name[hu]=Meghajtótípus
|
||||
Name[ia]=Typo de drive
|
||||
Name[id]=Tipe Penggerak
|
||||
Name[is]=Gerð drifs
|
||||
Name[it]=Tipo di unità
|
||||
Name[ja]=ドライブのタイプ
|
||||
Name[ka]=ამძრავის ტიპი
|
||||
Name[kk]=Жетек түрі
|
||||
Name[km]=ប្រភេទដ្រាយ
|
||||
Name[kn]=ಡ್ರೈವಿನ ಬಗೆ
|
||||
Name[ko]=드라이브 종류
|
||||
Name[lt]=Diskasukio tipas
|
||||
Name[lv]=Dziņa tips
|
||||
Name[mai]=ड्राइव प्रकार
|
||||
Name[mk]=Тип на уред
|
||||
Name[ml]=ഡ്രൈവിന്റെ തരം
|
||||
Name[mr]=ड्राइव्ह प्रकार
|
||||
Name[nb]=Drev-type
|
||||
Name[nds]=Loopwark-Typ
|
||||
Name[nl]=Apparaattype
|
||||
Name[nn]=Einingstype
|
||||
Name[pa]=ਡਰਾਇਵਰ ਕਿਸਮ
|
||||
Name[pl]=Typ napędu
|
||||
Name[pt]=Tipo de Unidade
|
||||
Name[pt_BR]=Tipo de unidade
|
||||
Name[ro]=Tip unitate
|
||||
Name[ru]=Тип устройства
|
||||
Name[si]=ධාවක වර්ගය
|
||||
Name[sk]=Typ mechaniky
|
||||
Name[sl]=Vrsta pogona
|
||||
Name[sr]=тип јединице
|
||||
Name[sr@ijekavian]=тип јединице
|
||||
Name[sr@ijekavianlatin]=tip jedinice
|
||||
Name[sr@latin]=tip jedinice
|
||||
Name[sv]=Enhetstyp
|
||||
Name[tg]=Намуди дастгоҳ
|
||||
Name[th]=ประเภทของไดรฟ์
|
||||
Name[tr]=Sürücü Tipi
|
||||
Name[ug]=قوزغاتقۇ تىپى
|
||||
Name[uk]=Тип пристрою
|
||||
Name[vi]=Kiểu trình điều khiển
|
||||
Name[wa]=Sôre di lijheu
|
||||
Name[x-test]=xxDrive Typexx
|
||||
Name[zh_CN]=驱动类型
|
||||
Name[zh_TW]=磁碟型態
|
||||
|
||||
[Desktop Action hotpluggable]
|
||||
Name=Hotpluggable
|
||||
Name[ar]=قابل للتوصيل
|
||||
Name[ast]=Conexón en caliente
|
||||
Name[bn]=হট-প্লাগ-যোগ্য
|
||||
Name[bs]=vruće uključiva
|
||||
Name[ca]=Connectable en calent
|
||||
Name[ca@valencia]=Connectable en calent
|
||||
Name[cs]=Hotplug
|
||||
Name[da]=Flytbar
|
||||
Name[de]=Hotplug-fähig
|
||||
Name[el]=Δυνατότητα Hotplug
|
||||
Name[en_GB]=Hotpluggable
|
||||
Name[eo]=Dumkure permutebla
|
||||
Name[es]=Conexión en caliente
|
||||
Name[et]=Töö ajal ühendatav
|
||||
Name[eu]=Hotplug-erako gaitua
|
||||
Name[fi]=Lennossakytkettävä
|
||||
Name[fr]=Connectable à chaud
|
||||
Name[fy]=Hotplug barren
|
||||
Name[ga]=Inphlugáilte
|
||||
Name[gl]=Conectábel en quente
|
||||
Name[gu]=હોટપ્લગેબલ
|
||||
Name[he]=החלפה חמה
|
||||
Name[hi]=हाटप्लग योग्य
|
||||
Name[hr]=Podržava brzo uštekavanje
|
||||
Name[hu]=Menet közben csatlakoztatható
|
||||
Name[ia]=Hotpluggable (On pote connecter lo con machina active)
|
||||
Name[id]=Dapat di-Hotplug
|
||||
Name[is]=Hraðtengjanlegt (hotplug)
|
||||
Name[it]=Collegabile in marcia
|
||||
Name[ja]=Hotplug 可能
|
||||
Name[kk]=Істеп турғанда қосылмалы
|
||||
Name[km]=ដោតដើរ
|
||||
Name[kn]=ಹಾಟ್ಪ್ಲಗ್ ಮಾಡಬಹುದಾದ
|
||||
Name[ko]=핫플러그 가능
|
||||
Name[lt]=Greitai prijungiamas
|
||||
Name[lv]=Karsti nomaināms
|
||||
Name[ml]=ഹോട്ട്പ്ലഗ് ചെയ്യാവുന്ന
|
||||
Name[mr]=हॉटप्लग करता येणारे
|
||||
Name[nb]=Kan kobles til påslått
|
||||
Name[nds]=Jümmers tokoppelbor
|
||||
Name[nl]=Hotplugbaar
|
||||
Name[nn]=Hotplug-kompatibel
|
||||
Name[pa]=ਹਾਟਪਲੱਗਯੋਗ
|
||||
Name[pl]=Podłączany "na gorąco"
|
||||
Name[pt]=Conectável em Funcionamento
|
||||
Name[pt_BR]=Conectável em funcionamento
|
||||
Name[ro]=Detașabil
|
||||
Name[ru]=Подключается в любое время
|
||||
Name[si]=Hotpluggable
|
||||
Name[sk]=Hotplug
|
||||
Name[sl]=Priključljivo med delovanjem
|
||||
Name[sr]=вруће укључива
|
||||
Name[sr@ijekavian]=вруће укључива
|
||||
Name[sr@ijekavianlatin]=vruće uključiva
|
||||
Name[sr@latin]=vruće uključiva
|
||||
Name[sv]=Inkopplingsbar
|
||||
Name[tg]=Дастгоҳҳои пайвастшаванда
|
||||
Name[th]=สามารถถอดเสียบได้
|
||||
Name[tr]=Çıkarılıp takılabilir
|
||||
Name[ug]=ئىسسىق چېتىلىشچان
|
||||
Name[uk]=«Гаряче» з’єднання
|
||||
Name[vi]=Tháo lắp nóng
|
||||
Name[wa]=Hotplugåve
|
||||
Name[x-test]=xxHotpluggablexx
|
||||
Name[zh_CN]=可热插拔
|
||||
Name[zh_TW]=可熱插拔
|
||||
|
||||
[Desktop Action removable]
|
||||
Name=Removable
|
||||
Name[ar]=قابل للإزالة
|
||||
Name[ast]=Estrayible
|
||||
Name[bg]=Преносим
|
||||
Name[bn]=অপসারণযোগ্য
|
||||
Name[bs]=uklonjiva
|
||||
Name[ca]=Extraïble
|
||||
Name[ca@valencia]=Extraïble
|
||||
Name[cs]=Odpojitelný
|
||||
Name[csb]=Przenosné
|
||||
Name[da]=Flytbar
|
||||
Name[de]=Wechselbar
|
||||
Name[el]=Αφαιρούμενο μέσο
|
||||
Name[en_GB]=Removable
|
||||
Name[eo]=Demetebla
|
||||
Name[es]=Extraíble
|
||||
Name[et]=Eemaldatav
|
||||
Name[eu]=Aldagarria
|
||||
Name[fa]=جدا شدنی
|
||||
Name[fi]=Poistettavissa
|
||||
Name[fr]=Amovible
|
||||
Name[fy]=Te ferwiderjen
|
||||
Name[ga]=Inbhainte
|
||||
Name[gl]=Eliminábel
|
||||
Name[gu]=દૂર કરી શકાય તેવું
|
||||
Name[he]=ניתן להסרה
|
||||
Name[hi]=हटाने योग्य
|
||||
Name[hr]=Moguće ga je izvaditi
|
||||
Name[hu]=Cserélhető
|
||||
Name[ia]=Removibile
|
||||
Name[id]=Dapat Dilepaskan
|
||||
Name[is]=Fjarlægjanlegt
|
||||
Name[it]=Rimovibile
|
||||
Name[ja]=リムーバブル
|
||||
Name[kk]=Ауыстырмалы
|
||||
Name[km]=អាចយកចេញបាន
|
||||
Name[kn]=ತೆಗೆಯಬಹುದಾದ
|
||||
Name[ko]=제거 가능
|
||||
Name[lt]=Keičiamas
|
||||
Name[lv]=Noņemams
|
||||
Name[mai]=हटबैयोग्य
|
||||
Name[mk]=Подвижен
|
||||
Name[ml]=നീക്കം ചെയ്യാവുന്ന
|
||||
Name[mr]=काढता येणारे
|
||||
Name[nb]=Flyttbar
|
||||
Name[nds]=Tuuschbor
|
||||
Name[nl]=Verwijderbaar
|
||||
Name[nn]=Flyttbar
|
||||
Name[pa]=ਹਟਾਉਣਯੋਗ
|
||||
Name[pl]=Wymienny
|
||||
Name[pt]=Removível
|
||||
Name[pt_BR]=Removível
|
||||
Name[ro]=Amovibil
|
||||
Name[ru]=Сменный носитель
|
||||
Name[si]=ඉවත්කල හැකි
|
||||
Name[sk]=Vymeniteľné
|
||||
Name[sl]=Odstranljivo
|
||||
Name[sr]=уклоњива
|
||||
Name[sr@ijekavian]=уклоњива
|
||||
Name[sr@ijekavianlatin]=uklonjiva
|
||||
Name[sr@latin]=uklonjiva
|
||||
Name[sv]=Flyttbar
|
||||
Name[tg]=Дастгоҳи ҷудошаванда
|
||||
Name[th]=ถอดเสียบได้
|
||||
Name[tr]=Çıkarılabilir
|
||||
Name[ug]=كۆچمە
|
||||
Name[uk]=Змінний пристрій
|
||||
Name[wa]=Bodjåve
|
||||
Name[x-test]=xxRemovablexx
|
||||
Name[zh_CN]=移动
|
||||
Name[zh_TW]=可移除
|
||||
|
||||
[Desktop Action size]
|
||||
Name=Size
|
||||
Name[ar]=الحجم
|
||||
Name[ast]=Tamañu
|
||||
Name[bg]=Големина
|
||||
Name[bn]=মাপ
|
||||
Name[bs]=veličina
|
||||
Name[ca]=Mida
|
||||
Name[ca@valencia]=Mida
|
||||
Name[cs]=Velikost
|
||||
Name[csb]=Miara
|
||||
Name[da]=Størrelse
|
||||
Name[de]=Größe
|
||||
Name[el]=Μέγεθος
|
||||
Name[en_GB]=Size
|
||||
Name[eo]=Grandeco
|
||||
Name[es]=Tamaño
|
||||
Name[et]=Suurus
|
||||
Name[eu]=Neurria
|
||||
Name[fa]=اندازه
|
||||
Name[fi]=Koko
|
||||
Name[fr]=Taille
|
||||
Name[fy]=Grutte
|
||||
Name[ga]=Méid
|
||||
Name[gl]=Tamaño
|
||||
Name[gu]=માપ
|
||||
Name[he]=גודל
|
||||
Name[hi]=आकार
|
||||
Name[hr]=Veličina
|
||||
Name[hu]=Méret
|
||||
Name[ia]=Dimension
|
||||
Name[id]=Ukuran
|
||||
Name[is]=Stærð
|
||||
Name[it]=Dimensione
|
||||
Name[ja]=サイズ
|
||||
Name[ka]=ზომა
|
||||
Name[kk]=Көлемі
|
||||
Name[km]=ទំហំ
|
||||
Name[kn]=ಗಾತ್ರ
|
||||
Name[ko]=크기
|
||||
Name[lt]=Dydis
|
||||
Name[lv]=Izmērs
|
||||
Name[mk]=Големина
|
||||
Name[ml]=വലിപ്പം
|
||||
Name[mr]=आकार
|
||||
Name[nb]=Størrelse
|
||||
Name[nds]=Grött
|
||||
Name[nl]=Grootte
|
||||
Name[nn]=Storleik
|
||||
Name[pa]=ਸਾਈਜ਼
|
||||
Name[pl]=Rozmiar
|
||||
Name[pt]=Tamanho
|
||||
Name[pt_BR]=Tamanho
|
||||
Name[ro]=Dimensiune
|
||||
Name[ru]=Размер
|
||||
Name[si]=ප්රමාණය
|
||||
Name[sk]=Veľkosť
|
||||
Name[sl]=Velikost
|
||||
Name[sr]=величина
|
||||
Name[sr@ijekavian]=величина
|
||||
Name[sr@ijekavianlatin]=veličina
|
||||
Name[sr@latin]=veličina
|
||||
Name[sv]=Storlek
|
||||
Name[tg]=Андоза
|
||||
Name[th]=ขนาด
|
||||
Name[tr]=Boyut
|
||||
Name[ug]=چوڭلۇقى
|
||||
Name[uk]=Розмір
|
||||
Name[wa]=Grandeu
|
||||
Name[x-test]=xxSizexx
|
||||
Name[zh_CN]=大小
|
||||
Name[zh_TW]=大小
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=bus;driveType;hotpluggable;removable;size;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=StorageDrive
|
|
@ -1,507 +0,0 @@
|
|||
[Desktop Action fsType]
|
||||
Name=Fs Type
|
||||
Name[ar]=نوع نظام الملفات
|
||||
Name[ast]=Triba de Fs
|
||||
Name[bg]=Вид файлова система
|
||||
Name[bn]=Fs ধরন
|
||||
Name[bs]=tip fsis.
|
||||
Name[ca]=Tipus de sistema de fitxers
|
||||
Name[ca@valencia]=Tipus de sistema de fitxers
|
||||
Name[cs]=Typ FS
|
||||
Name[csb]=Ôrt Fs
|
||||
Name[da]=FS-type
|
||||
Name[de]=Dateisystemtyp
|
||||
Name[el]=Τύπος συστήματος αρχείων
|
||||
Name[en_GB]=Fs Type
|
||||
Name[eo]=Dosiersistema Tipo
|
||||
Name[es]=Tipo de s. a.
|
||||
Name[et]=Failisüsteemi tüüp
|
||||
Name[eu]=Fitxategi-sistema mota
|
||||
Name[fi]=Tiedostojärjestelmän tyyppi
|
||||
Name[fr]=Type de système de fichiers
|
||||
Name[fy]=Fs type
|
||||
Name[ga]=Cineál an Chórais Comhad
|
||||
Name[gl]=Sistema de ficheiros
|
||||
Name[gu]=Fs પ્રકાર
|
||||
Name[he]=סוג מערכת קבצים
|
||||
Name[hi]=Fs प्रकार
|
||||
Name[hr]=Tip datotečnog sustava
|
||||
Name[hu]=Fájlrendszer
|
||||
Name[ia]=Typo Fs
|
||||
Name[id]=Tipe Sistem Berkas
|
||||
Name[is]=Tegund skráakerfis
|
||||
Name[it]=Tipo di filesystem
|
||||
Name[ja]=Fs タイプ
|
||||
Name[kk]=ФЖ түрі
|
||||
Name[km]=ប្រភេទ Fs
|
||||
Name[kn]=Fs ಬಗೆ
|
||||
Name[ko]=파일 시스템 종류
|
||||
Name[lt]=FS tipas
|
||||
Name[lv]=FS tips
|
||||
Name[mai]=Fs प्रकार
|
||||
Name[mk]=Тип на дат. систем
|
||||
Name[ml]=ഫയല് വ്യവസ്ഥയുടെ തരം
|
||||
Name[mr]=Fs प्रकार
|
||||
Name[nb]=Filsystemtype
|
||||
Name[nds]=Dateisysteem-Typ
|
||||
Name[nl]=FS-type
|
||||
Name[nn]=Filsystemtype
|
||||
Name[pa]=Fs ਕਿਸਮ
|
||||
Name[pl]=Typ systemu plików
|
||||
Name[pt]=Tipo de SF
|
||||
Name[pt_BR]=Tipo de sistema de arquivos
|
||||
Name[ro]=Tipul SF
|
||||
Name[ru]=Файловая система
|
||||
Name[si]=Fs වර්ගය
|
||||
Name[sk]=Typ FS
|
||||
Name[sl]=Vrsta dat. sist.
|
||||
Name[sr]=тип фсис.
|
||||
Name[sr@ijekavian]=тип фсис.
|
||||
Name[sr@ijekavianlatin]=tip fsis.
|
||||
Name[sr@latin]=tip fsis.
|
||||
Name[sv]=Filsystemtyp
|
||||
Name[tg]=Намуди Fs
|
||||
Name[th]=ประเภทของระบบแฟ้ม
|
||||
Name[tr]=Dosya Sistemi Tipi
|
||||
Name[ug]=ھۆججەت سىستېما تىپى
|
||||
Name[uk]=Тип ФС
|
||||
Name[vi]=Kiểu hệ thống tập tin
|
||||
Name[wa]=Sôre di Fs
|
||||
Name[x-test]=xxFs Typexx
|
||||
Name[zh_CN]=文件系统类型
|
||||
Name[zh_TW]=檔案系統型態
|
||||
|
||||
[Desktop Action ignored]
|
||||
Name=Ignored
|
||||
Name[ar]=متجاهَل
|
||||
Name[ast]=Inoráu
|
||||
Name[bg]=Пренебрегнат
|
||||
Name[bn]=উপেক্ষিত
|
||||
Name[bs]=ignorisan
|
||||
Name[ca]=Ignorat
|
||||
Name[ca@valencia]=Ignorat
|
||||
Name[cs]=Ignorováno
|
||||
Name[csb]=Ignorowóné
|
||||
Name[da]=Ignoreret
|
||||
Name[de]=Ignoriert
|
||||
Name[el]=Παράβλεψη
|
||||
Name[en_GB]=Ignored
|
||||
Name[eo]=Ignorita
|
||||
Name[es]=Ignorado
|
||||
Name[et]=Eiratav
|
||||
Name[eu]=Ez ikusi eginda
|
||||
Name[fi]=Ei otettu huomioon
|
||||
Name[fr]=Ignoré
|
||||
Name[fy]=Negearre
|
||||
Name[ga]=Neamhaird Déanta De
|
||||
Name[gl]=Ignorado
|
||||
Name[gu]=અવગણેલ
|
||||
Name[he]=התעלם
|
||||
Name[hi]=उपेक्षित
|
||||
Name[hr]=Zanemareno
|
||||
Name[hu]=Nem kezelt
|
||||
Name[ia]=Ignorate
|
||||
Name[id]=Diabaikan
|
||||
Name[is]=Hunsað
|
||||
Name[it]=Ignorato
|
||||
Name[ja]=無視
|
||||
Name[kk]=Еленбеген
|
||||
Name[km]=បានមិនអើពើ
|
||||
Name[kn]=ಆಲಕ್ಷಿತ
|
||||
Name[ko]=무시됨
|
||||
Name[lt]=Ignoruota
|
||||
Name[lv]=Ignorēts
|
||||
Name[mk]=Игнорирано
|
||||
Name[ml]=അവഗണിച്ചു
|
||||
Name[mr]=उपेक्षित
|
||||
Name[nb]=Ignorert
|
||||
Name[nds]=Övergahn
|
||||
Name[nl]=Genegeerd
|
||||
Name[nn]=Oversett
|
||||
Name[pa]=ਅਣਡਿੱਠ ਕੀਤਾ
|
||||
Name[pl]=Ignorowany
|
||||
Name[pt]=Ignorado
|
||||
Name[pt_BR]=Ignorado
|
||||
Name[ro]=Ignorat
|
||||
Name[ru]=Игнорируется
|
||||
Name[si]=නොතැකූ
|
||||
Name[sk]=Ignorované
|
||||
Name[sl]=Prezrto
|
||||
Name[sr]=игнорисан
|
||||
Name[sr@ijekavian]=игнорисан
|
||||
Name[sr@ijekavianlatin]=ignorisan
|
||||
Name[sr@latin]=ignorisan
|
||||
Name[sv]=Ignorerad
|
||||
Name[tg]=Радшуда
|
||||
Name[th]=ไม่สนใจ
|
||||
Name[tr]=Yoksayılmış
|
||||
Name[ug]=پەرۋا قىلمىدى
|
||||
Name[uk]=Ігнорується
|
||||
Name[vi]=Bỏ qua
|
||||
Name[wa]=Passé houte
|
||||
Name[x-test]=xxIgnoredxx
|
||||
Name[zh_CN]=已忽略
|
||||
Name[zh_TW]=忽略
|
||||
|
||||
[Desktop Action label]
|
||||
Name=Label
|
||||
Name[ar]=التسمية
|
||||
Name[ast]=Etiqueta
|
||||
Name[bg]=Етикет
|
||||
Name[bn]=লেবেল
|
||||
Name[bs]=etiketa
|
||||
Name[ca]=Etiqueta
|
||||
Name[ca@valencia]=Etiqueta
|
||||
Name[cs]=Popisek
|
||||
Name[csb]=Znakòwnik
|
||||
Name[da]=Etiket
|
||||
Name[de]=Beschriftung
|
||||
Name[el]=Ετικέτα
|
||||
Name[en_GB]=Label
|
||||
Name[eo]=Labelo
|
||||
Name[es]=Etiqueta
|
||||
Name[et]=Pealdis
|
||||
Name[eu]=Etiketa
|
||||
Name[fa]=برچسب
|
||||
Name[fi]=Nimike
|
||||
Name[fr]=Étiquette
|
||||
Name[fy]=Lebel
|
||||
Name[ga]=Lipéad
|
||||
Name[gl]=Etiqueta
|
||||
Name[gu]=લેબલ
|
||||
Name[he]=תוויות
|
||||
Name[hi]=लेबल
|
||||
Name[hr]=Natpis
|
||||
Name[hu]=Címke
|
||||
Name[ia]=Etiquetta
|
||||
Name[id]=Label
|
||||
Name[is]=Merking
|
||||
Name[it]=Etichetta
|
||||
Name[ja]=ラベル
|
||||
Name[kk]=Тамғасы
|
||||
Name[km]=ស្លាក
|
||||
Name[kn]=ಗುರುತುಪಟ್ಟಿ
|
||||
Name[ko]=레이블
|
||||
Name[lt]=Etiketė
|
||||
Name[lv]=Etiķete
|
||||
Name[mk]=Натпис
|
||||
Name[ml]=ലേബല്
|
||||
Name[mr]=लेबल
|
||||
Name[nb]=Etikett
|
||||
Name[nds]=Beteker
|
||||
Name[nl]=Label
|
||||
Name[nn]=Merkelapp
|
||||
Name[pa]=ਲੇਬਲ
|
||||
Name[pl]=Etykieta
|
||||
Name[pt]=Legenda
|
||||
Name[pt_BR]=Rótulo
|
||||
Name[ro]=Etichetă
|
||||
Name[ru]=Метка
|
||||
Name[si]=ලේබලය
|
||||
Name[sk]=Štítok
|
||||
Name[sl]=Oznaka
|
||||
Name[sr]=етикета
|
||||
Name[sr@ijekavian]=етикета
|
||||
Name[sr@ijekavianlatin]=etiketa
|
||||
Name[sr@latin]=etiketa
|
||||
Name[sv]=Etikett
|
||||
Name[tg]=Тамға
|
||||
Name[th]=แถบป้าย
|
||||
Name[tr]=Etiket
|
||||
Name[ug]=ئەن
|
||||
Name[uk]=Мітка
|
||||
Name[vi]=Nhãn
|
||||
Name[wa]=Etikete
|
||||
Name[x-test]=xxLabelxx
|
||||
Name[zh_CN]=标签
|
||||
Name[zh_TW]=標籤
|
||||
|
||||
[Desktop Action size]
|
||||
Name=Size
|
||||
Name[ar]=الحجم
|
||||
Name[ast]=Tamañu
|
||||
Name[bg]=Големина
|
||||
Name[bn]=মাপ
|
||||
Name[bs]=veličina
|
||||
Name[ca]=Mida
|
||||
Name[ca@valencia]=Mida
|
||||
Name[cs]=Velikost
|
||||
Name[csb]=Miara
|
||||
Name[da]=Størrelse
|
||||
Name[de]=Größe
|
||||
Name[el]=Μέγεθος
|
||||
Name[en_GB]=Size
|
||||
Name[eo]=Grandeco
|
||||
Name[es]=Tamaño
|
||||
Name[et]=Suurus
|
||||
Name[eu]=Neurria
|
||||
Name[fa]=اندازه
|
||||
Name[fi]=Koko
|
||||
Name[fr]=Taille
|
||||
Name[fy]=Grutte
|
||||
Name[ga]=Méid
|
||||
Name[gl]=Tamaño
|
||||
Name[gu]=માપ
|
||||
Name[he]=גודל
|
||||
Name[hi]=आकार
|
||||
Name[hr]=Veličina
|
||||
Name[hu]=Méret
|
||||
Name[ia]=Dimension
|
||||
Name[id]=Ukuran
|
||||
Name[is]=Stærð
|
||||
Name[it]=Dimensione
|
||||
Name[ja]=サイズ
|
||||
Name[ka]=ზომა
|
||||
Name[kk]=Көлемі
|
||||
Name[km]=ទំហំ
|
||||
Name[kn]=ಗಾತ್ರ
|
||||
Name[ko]=크기
|
||||
Name[lt]=Dydis
|
||||
Name[lv]=Izmērs
|
||||
Name[mk]=Големина
|
||||
Name[ml]=വലിപ്പം
|
||||
Name[mr]=आकार
|
||||
Name[nb]=Størrelse
|
||||
Name[nds]=Grött
|
||||
Name[nl]=Grootte
|
||||
Name[nn]=Storleik
|
||||
Name[pa]=ਸਾਈਜ਼
|
||||
Name[pl]=Rozmiar
|
||||
Name[pt]=Tamanho
|
||||
Name[pt_BR]=Tamanho
|
||||
Name[ro]=Dimensiune
|
||||
Name[ru]=Размер
|
||||
Name[si]=ප්රමාණය
|
||||
Name[sk]=Veľkosť
|
||||
Name[sl]=Velikost
|
||||
Name[sr]=величина
|
||||
Name[sr@ijekavian]=величина
|
||||
Name[sr@ijekavianlatin]=veličina
|
||||
Name[sr@latin]=veličina
|
||||
Name[sv]=Storlek
|
||||
Name[tg]=Андоза
|
||||
Name[th]=ขนาด
|
||||
Name[tr]=Boyut
|
||||
Name[ug]=چوڭلۇقى
|
||||
Name[uk]=Розмір
|
||||
Name[wa]=Grandeu
|
||||
Name[x-test]=xxSizexx
|
||||
Name[zh_CN]=大小
|
||||
Name[zh_TW]=大小
|
||||
|
||||
[Desktop Action usage]
|
||||
Name=Usage
|
||||
Name[ar]=الاستعمال
|
||||
Name[ast]=Usu
|
||||
Name[bg]=Използване
|
||||
Name[bn]=ব্যবহার
|
||||
Name[bs]=upotreba
|
||||
Name[ca]=Ús
|
||||
Name[ca@valencia]=Ús
|
||||
Name[cs]=Použití
|
||||
Name[csb]=Brëkòwóné
|
||||
Name[da]=Brug
|
||||
Name[de]=Verwendung
|
||||
Name[el]=Χρήση
|
||||
Name[en_GB]=Usage
|
||||
Name[eo]=Uzado
|
||||
Name[es]=Uso
|
||||
Name[et]=Kasutus
|
||||
Name[eu]=Erabilera
|
||||
Name[fi]=Käyttötaso
|
||||
Name[fr]=Usage
|
||||
Name[fy]=Brûkens
|
||||
Name[ga]=Úsáid
|
||||
Name[gl]=Uso
|
||||
Name[gu]=વપરાશ
|
||||
Name[he]=שימוש
|
||||
Name[hi]=उपयोग
|
||||
Name[hr]=Iskorištenost
|
||||
Name[hu]=Kihasználtság
|
||||
Name[ia]=Usage
|
||||
Name[id]=Penggunaan
|
||||
Name[is]=Notkun
|
||||
Name[it]=Uso
|
||||
Name[ja]=使用率
|
||||
Name[ka]=გამოყენება
|
||||
Name[kk]=Толуы
|
||||
Name[km]=ការប្រើប្រាស់
|
||||
Name[kn]=ಬಳಕೆ
|
||||
Name[ko]=사용량
|
||||
Name[lt]=Naudojimas
|
||||
Name[lv]=Izlietojums
|
||||
Name[mk]=Користење
|
||||
Name[ml]=ഉപയോഗരീതി
|
||||
Name[mr]=वापर
|
||||
Name[nb]=Bruk
|
||||
Name[nds]=Bruuk
|
||||
Name[nl]=Gebruik
|
||||
Name[nn]=Bruk
|
||||
Name[pa]=ਵਰਤੋਂ
|
||||
Name[pl]=Wykorzystanie
|
||||
Name[pt]=Utilização
|
||||
Name[pt_BR]=Uso
|
||||
Name[ro]=Utilizare
|
||||
Name[ru]=Использование
|
||||
Name[si]=භාවිතය
|
||||
Name[sk]=Použitie
|
||||
Name[sl]=Poraba
|
||||
Name[sr]=употреба
|
||||
Name[sr@ijekavian]=употреба
|
||||
Name[sr@ijekavianlatin]=upotreba
|
||||
Name[sr@latin]=upotreba
|
||||
Name[sv]=Användning
|
||||
Name[tg]=Истифодабарӣ
|
||||
Name[th]=วิธีใช้
|
||||
Name[tr]=Kullanım
|
||||
Name[ug]=ئىشلىتىلىشى
|
||||
Name[uk]=Використання
|
||||
Name[wa]=Eployaedje
|
||||
Name[x-test]=xxUsagexx
|
||||
Name[zh_CN]=已用量
|
||||
Name[zh_TW]=使用量
|
||||
|
||||
[Desktop Action uuid]
|
||||
Name=Uuid
|
||||
Name[ar]=المعرف الفريد عالمياً (Uuid)
|
||||
Name[ast]=Uuid
|
||||
Name[bg]=Uuid
|
||||
Name[bn]=Uuid
|
||||
Name[bs]=UUID
|
||||
Name[ca]=UUID
|
||||
Name[ca@valencia]=UUID
|
||||
Name[cs]=Uuid
|
||||
Name[csb]=Uuid
|
||||
Name[da]=Uuid
|
||||
Name[de]=UUID
|
||||
Name[el]=Uuid
|
||||
Name[en_GB]=Uuid
|
||||
Name[eo]=Uuid
|
||||
Name[es]=Uuid
|
||||
Name[et]=Uuid
|
||||
Name[eu]=UUIDa
|
||||
Name[fi]=Uuid
|
||||
Name[fr]=Uuid
|
||||
Name[fy]=Uuid
|
||||
Name[ga]=Uuid
|
||||
Name[gl]=Uuid
|
||||
Name[gu]=Uuid
|
||||
Name[he]=Uuid
|
||||
Name[hi]=Uuid
|
||||
Name[hr]=UUID
|
||||
Name[hu]=UUID
|
||||
Name[ia]=Uuid
|
||||
Name[id]=Uuid
|
||||
Name[is]=UUID
|
||||
Name[it]=Uuid
|
||||
Name[ja]=UUID
|
||||
Name[ka]=Uuid
|
||||
Name[kk]=Uuid
|
||||
Name[km]=Uuid
|
||||
Name[kn]=Uuid
|
||||
Name[ko]=UUID
|
||||
Name[lt]=Uuid
|
||||
Name[lv]=Uuid
|
||||
Name[mk]=Uuid
|
||||
Name[ml]=യുയുഐഡി
|
||||
Name[mr]=Uuid
|
||||
Name[nb]=Uuid
|
||||
Name[nds]=UUID
|
||||
Name[nl]=Uuid
|
||||
Name[nn]=UUID
|
||||
Name[pa]=Uuid
|
||||
Name[pl]=Uuid
|
||||
Name[pt]=UUID
|
||||
Name[pt_BR]=UUID
|
||||
Name[ro]=Uuid
|
||||
Name[ru]=UUID
|
||||
Name[si]=Uuid
|
||||
Name[sk]=Uuid
|
||||
Name[sl]=UUID
|
||||
Name[sr]=УУИД
|
||||
Name[sr@ijekavian]=УУИД
|
||||
Name[sr@ijekavianlatin]=UUID
|
||||
Name[sr@latin]=UUID
|
||||
Name[sv]=Uuid
|
||||
Name[tg]=Phluid
|
||||
Name[th]=ค่า Uuid
|
||||
Name[tr]=Uuid
|
||||
Name[ug]=Uuid
|
||||
Name[uk]=Uuid
|
||||
Name[wa]=Uuid
|
||||
Name[x-test]=xxUuidxx
|
||||
Name[zh_CN]=UUID
|
||||
Name[zh_TW]=UUID
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=fsType;ignored;label;size;usage;uuid;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=StorageVolume
|
|
@ -1,144 +0,0 @@
|
|||
[Desktop Action supportedDrivers]
|
||||
Name=Supported Drivers
|
||||
Name[ar]=المشغلات المدعومة
|
||||
Name[ast]=Controladores sofitaos
|
||||
Name[bg]=Поддържани драйвери
|
||||
Name[bn]=সমর্থিত ড্রাইভার
|
||||
Name[bs]=podržani drajveri
|
||||
Name[ca]=Controladors acceptats
|
||||
Name[ca@valencia]=Controladors acceptats
|
||||
Name[cs]=Podporované ovladače
|
||||
Name[csb]=Wspiéróné czérowniczi
|
||||
Name[da]=Understøttede drivere
|
||||
Name[de]=Unterstützte Treiber
|
||||
Name[el]=Υποστηριζόμενοι οδηγοί
|
||||
Name[en_GB]=Supported Drivers
|
||||
Name[eo]=subtenataj Peliloj
|
||||
Name[es]=Dispositivos soportados
|
||||
Name[et]=Toetatud draiverid
|
||||
Name[eu]=Onartutzen diren gidariak
|
||||
Name[fi]=Tuetut ajurit
|
||||
Name[fr]=Pilotes pris en charge
|
||||
Name[fy]=Stipe stjoerprogramma's
|
||||
Name[ga]=Tiománaithe a dTacaítear Leo
|
||||
Name[gl]=Controladores soportados
|
||||
Name[gu]=આધારિત ડ્રાઇવરો
|
||||
Name[he]=מנהלי התקנים נתמכים
|
||||
Name[hi]=समर्थित ड्राईवर
|
||||
Name[hr]=Podržani pisači
|
||||
Name[hu]=Támogatott meghajtók
|
||||
Name[ia]=Drivers supportate
|
||||
Name[id]=Penggerak Didukung
|
||||
Name[is]=Studdir reklar
|
||||
Name[it]=Driver supportati
|
||||
Name[ja]=サポートされているドライバ
|
||||
Name[kk]=Қолдайтын драйверлері
|
||||
Name[km]=កម្មវិធីបញ្ជាដែលបានគាំទ្រ
|
||||
Name[kn]=ಬೆಂಬಲಿತ ಚಾಲಕಗಳು
|
||||
Name[ko]=지원하는 드라이버
|
||||
Name[lt]=Palaikomos tvarkyklės
|
||||
Name[lv]=Atbalstītie draiveri
|
||||
Name[mai]=समर्थित ड्राइवर
|
||||
Name[mk]=Поддржани управувачи
|
||||
Name[ml]=പിന്തുണയുള്ള സാരഥികള്
|
||||
Name[mr]=समर्थीत ड्राइव्हर्स
|
||||
Name[nb]=Støttede drivere
|
||||
Name[nds]=Ünnerstütt Drievers
|
||||
Name[nl]=Ondersteunde stuurprogramma's
|
||||
Name[nn]=Støtta drivarar
|
||||
Name[pa]=ਸਹਾਇਕ ਡਰਾਇਵਰ
|
||||
Name[pl]=Obsługiwane sterowniki
|
||||
Name[pt]=Controladores Suportados
|
||||
Name[pt_BR]=Drivers suportados
|
||||
Name[ro]=Drivere susținute
|
||||
Name[ru]=Поддерживаемые драйверы
|
||||
Name[si]=සහාය දක්වන ධාවක
|
||||
Name[sk]=Podporované ovládače
|
||||
Name[sl]=Podprti gonilniki
|
||||
Name[sr]=подржани драјвери
|
||||
Name[sr@ijekavian]=подржани драјвери
|
||||
Name[sr@ijekavianlatin]=podržani drajveri
|
||||
Name[sr@latin]=podržani drajveri
|
||||
Name[sv]=Drivrutiner som stöds
|
||||
Name[tg]=Дастгоҳҳои мувофиқ
|
||||
Name[th]=ไดรเวอร์ที่รองรับ
|
||||
Name[tr]=Desteklenen Sürücüler
|
||||
Name[ug]=قوللايدىغان قوزغاتقۇلار
|
||||
Name[uk]=Підтримувані драйвери
|
||||
Name[wa]=Mineus sopoirtés
|
||||
Name[x-test]=xxSupported Driversxx
|
||||
Name[zh_CN]=支持的驱动
|
||||
Name[zh_TW]=支援的驅動程式
|
||||
|
||||
[Desktop Entry]
|
||||
Actions=supportedDrivers;
|
||||
Name=Solid Device
|
||||
Name[ar]=جهاز في سوليد
|
||||
Name[ast]=Preseos de Solid
|
||||
Name[bn]=সলিড ডিভাইস
|
||||
Name[bs]=uređaj pod Solidom
|
||||
Name[ca]=Dispositiu del Solid
|
||||
Name[ca@valencia]=Dispositiu del Solid
|
||||
Name[cs]=Solid zařízení
|
||||
Name[da]=Solid-enhed
|
||||
Name[de]=Solid-Gerät
|
||||
Name[el]=Συμπαγής συσκευή
|
||||
Name[en_GB]=Solid Device
|
||||
Name[eo]=Solid-aparatoj
|
||||
Name[es]=Dispositivo de Solid
|
||||
Name[et]=Solidi seade
|
||||
Name[eu]=Solid gailua
|
||||
Name[fi]=Kiinteä laite
|
||||
Name[fr]=Périphérique Solid
|
||||
Name[fy]=Solid apparaat
|
||||
Name[ga]=Gléas Solid
|
||||
Name[gl]=Dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ
|
||||
Name[he]=התקן Solid
|
||||
Name[hi]=सोलिड औज़ार
|
||||
Name[hr]=Solid uređaj
|
||||
Name[hu]=Solid eszköz
|
||||
Name[ia]=Dispositivo Solid
|
||||
Name[id]=Divais Solid
|
||||
Name[is]=Solid tæki
|
||||
Name[it]=Dispositivo di Solid
|
||||
Name[ja]=Solid デバイス
|
||||
Name[kk]=Solid құрылғысы
|
||||
Name[km]=ឧបករណ៍យូតាន់
|
||||
Name[kn]=ಘನ ಸಾಧನ
|
||||
Name[ko]=Solid 장치
|
||||
Name[lt]=Solid įrenginys
|
||||
Name[lv]=Solid ierīce
|
||||
Name[mk]=Полупроводнички уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണം
|
||||
Name[mr]=सॉलिड साधन
|
||||
Name[nb]=Solid-enhet
|
||||
Name[nds]=Solid-Reedschap
|
||||
Name[nl]=Solid-apparaat
|
||||
Name[nn]=Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ
|
||||
Name[pl]=Urządzenie Solid
|
||||
Name[pt]=Dispositivo do Solid
|
||||
Name[pt_BR]=Dispositivo do Solid
|
||||
Name[ro]=Dispozitiv Solid
|
||||
Name[ru]=Устройство Solid
|
||||
Name[si]=දෘඩ මෙවලම්
|
||||
Name[sk]=Zariadenie Solid
|
||||
Name[sl]=Naprava Solid
|
||||
Name[sr]=уређај под Солидом
|
||||
Name[sr@ijekavian]=уређај под Солидом
|
||||
Name[sr@ijekavianlatin]=uređaj pod Solidom
|
||||
Name[sr@latin]=uređaj pod Solidom
|
||||
Name[sv]=Solid-enhet
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ผ่าน Solid
|
||||
Name[tr]=Solid Aygıtı
|
||||
Name[ug]=Solid ئۈسكۈنە
|
||||
Name[uk]=Пристрій Solid
|
||||
Name[wa]=Éndjins Solid
|
||||
Name[x-test]=xxSolid Devicexx
|
||||
Name[zh_CN]=Solid 设备
|
||||
Name[zh_TW]=實體裝置
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=SolidDevice
|
||||
X-KDE-Solid-Actions-Type=Video
|
|
@ -1,9 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Actions=open;
|
||||
Type=Service
|
||||
X-KDE-Action-Custom=true
|
||||
X-KDE-Solid-Predicate=[ IS StorageVolume AND StorageVolume.ignored == false ]
|
||||
|
||||
[Desktop Action open]
|
||||
Icon=unknown
|
||||
Exec=
|
|
@ -1,178 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 solid-actions
|
||||
Icon=system-run
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-DocPath=kcontrol/solid-actions/index.html
|
||||
|
||||
X-KDE-Library=kcm_solid_actions
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=hardware
|
||||
|
||||
Name=Device Actions
|
||||
Name[ar]=إجراءات الأجهزة
|
||||
Name[ast]=Aiciones del preséu
|
||||
Name[bg]=Действия за устройства
|
||||
Name[bn]=ডিভাইস অ্যাকশন
|
||||
Name[bs]=Radnje uređaja
|
||||
Name[ca]=Accions de dispositiu
|
||||
Name[ca@valencia]=Accions de dispositiu
|
||||
Name[cs]=Činnosti zařízení
|
||||
Name[csb]=Dzejanié ùrządzenia
|
||||
Name[da]=Enhedshandlinger
|
||||
Name[de]=Geräte-Aktionen
|
||||
Name[el]=Ενέργειες συσκευής
|
||||
Name[en_GB]=Device Actions
|
||||
Name[eo]=Aparataj agoj
|
||||
Name[es]=Acciones del dispositivo
|
||||
Name[et]=Seadme toimingud
|
||||
Name[eu]=Gailuaren ekintzak
|
||||
Name[fi]=Laitetoiminnot
|
||||
Name[fr]=Actions du périphérique
|
||||
Name[fy]=Apparaat aksjes
|
||||
Name[ga]=Gníomhartha Gléis
|
||||
Name[gl]=Accións do dispositivo
|
||||
Name[gu]=ઉપકરણ ક્રિયાઓ
|
||||
Name[he]=פעולות התקן
|
||||
Name[hi]=औजार क्रियाएँ
|
||||
Name[hr]=Akcije uređaja
|
||||
Name[hu]=Eszközműveletek
|
||||
Name[ia]=Actiones de dispositivos
|
||||
Name[id]=Aksi Divais
|
||||
Name[is]=Aðgerðir tækis
|
||||
Name[it]=Azioni dei dispositivi
|
||||
Name[ja]=デバイスに対するアクション
|
||||
Name[kk]=Құрылғы әрекеттері
|
||||
Name[km]=សកម្មភាពឧបករណ៍
|
||||
Name[kn]=ಸಾಧನದ ಕ್ರಿಯೆಗಳು
|
||||
Name[ko]=장치 동작
|
||||
Name[lt]=Įrenginių veiksmai
|
||||
Name[lv]=Ierīces darbības
|
||||
Name[mk]=Дејства за уреди
|
||||
Name[ml]=ഉപകരണത്തിനുള്ള പ്രവൃത്തികള്
|
||||
Name[mr]=साधन क्रिया
|
||||
Name[nb]=Enhetshandlinger
|
||||
Name[nds]=Reedschap-Akschonen
|
||||
Name[nl]=Apparaatacties
|
||||
Name[nn]=Einingshandlingar
|
||||
Name[pa]=ਜੰਤਰ ਐਕਸ਼ਨ
|
||||
Name[pl]=Działania na urządzeniach
|
||||
Name[pt]=Acções do Dispositivo
|
||||
Name[pt_BR]=Ações do dispositivo
|
||||
Name[ro]=Acțiuni dispozitiv
|
||||
Name[ru]=Действия для устройств
|
||||
Name[si]=මෙවලම් ක්රියා
|
||||
Name[sk]=Akcie zariadenia
|
||||
Name[sl]=Dejanja za napravo
|
||||
Name[sr]=Радње уређаја
|
||||
Name[sr@ijekavian]=Радње уређаја
|
||||
Name[sr@ijekavianlatin]=Radnje uređaja
|
||||
Name[sr@latin]=Radnje uređaja
|
||||
Name[sv]=Enhetsåtgärder
|
||||
Name[tg]=Амалҳои пештанзимшуда
|
||||
Name[th]=การกระทำต่าง ๆ กับอุปกรณ์
|
||||
Name[tr]=Aygıt Eylemleri
|
||||
Name[ug]=ئۈسكۈنە مەشغۇلاتى
|
||||
Name[uk]=Дії з пристроями
|
||||
Name[vi]=Hành động cho thiết bị
|
||||
Name[wa]=Accions di l' éndjin
|
||||
Name[x-test]=xxDevice Actionsxx
|
||||
Name[zh_CN]=设备动作
|
||||
Name[zh_TW]=裝置動作
|
||||
|
||||
Comment=Manage actions available to the user when connecting new devices
|
||||
Comment[bs]=Upravljanje radnjama dostupnim korisniku pri povezivanju novih uređaja na računar.
|
||||
Comment[ca]=Gestiona les accions disponibles per a l'usuari en connectar dispositius nous
|
||||
Comment[ca@valencia]=Gestiona les accions disponibles per a l'usuari en connectar dispositius nous
|
||||
Comment[cs]=Spravovat činnosti dostupné pro uživatele při připojení nových zařízení
|
||||
Comment[da]=Håndtér de handlinger som er tilgængelige for brugeren når nye enheder tilsluttes
|
||||
Comment[de]=Einrichtung der Aktionen, die für den Anwender verfügbar sein sollen, wenn neue Geräte an den Rechner angeschlossen werden.
|
||||
Comment[el]=Διαχείριση ενεργειών διαθέσιμων στο χρήστη κατά τη σύνδεση νέων συσκευών
|
||||
Comment[en_GB]=Manage actions available to the user when connecting new devices
|
||||
Comment[es]=Gestionar las acciones disponibles para el usuario cuando conecta nuevos dispositivos
|
||||
Comment[et]=Toimingute haldamine, mida kasutaja saab tarvitada uue seadme ühendamisel arvutiga
|
||||
Comment[eu]=kudeatu gailu berriak konektatzean erabiltzaileak erabilgarri dituen ekintzak
|
||||
Comment[fi]=Hallitse toimintoja, jotka ovat käyttäjän valittavissa, kun uusia laitteita kytketään
|
||||
Comment[fr]=Gère les actions disponibles pour l'utilisateur lors de la connexion de nouveaux périphériques
|
||||
Comment[ga]=Bainistigh na gníomhartha atá ar fáil don úsáideoir agus gléasanna nua á gceangal
|
||||
Comment[gl]=Xestiona as accións dispoñíbeis para o usuario cando se conecten novos dispositivos
|
||||
Comment[he]=מנהל פעילויות זמונית למשתמש בעת חיבור של התקנים חדשים
|
||||
Comment[hu]=Új eszköz csatlakoztatásakor a felhasználónak elérhető műveletek kezelése
|
||||
Comment[ia]=Gerer actiones disponibile al usator quando il connecte nove dispositivos al computator
|
||||
Comment[is]=Stillingatól fyrir þær aðgerðir sem verða í boði fyrir notanda þegar ný tæki eru tengd við tölvuna
|
||||
Comment[it]=Gestisci le azioni disponibili all'utente quando si collegano nuovi dispositivi
|
||||
Comment[kk]=Жаңа құрылғыларды қосқанда қол жетерлік басқару амалдары
|
||||
Comment[ko]=새 장치를 연결했을 때 표시할 동작을 관리합니다
|
||||
Comment[lt]=Tvarkyti veiksmus pasiekiamus naudotojui kai prijungiami nauji įrenginiai
|
||||
Comment[mr]=नवीन साधने जोडल्यावर वापरकर्त्यास उपलब्ध असलेल्या क्रियांचे व्यवस्थापन करा
|
||||
Comment[nb]=Håndter handlingene som er tilgjengelige for brukeren når nye enheter kobles til datamaskinen
|
||||
Comment[nds]=Akschonen plegen, de för Brukers praatstaht, wenn nieg Reedschappen den Reekner tokoppelt warrt
|
||||
Comment[nl]=Beheren van acties die beschikbaar zijn voor de gebruiker bij het aankoppelen van nieuwe apparaten
|
||||
Comment[pa]=ਯੂਜ਼ਰ ਨੂੰ ਮਿਲਣ ਵਾਲੀਆਂ ਕਾਰਵਾਈਆਂ ਦਾ ਪਰਬੰਧ, ਜਦੋਂ ਨਵੇਂ ਜੰਤਰ ਕੁਨੈਕਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
|
||||
Comment[pl]=Zdecyduj o dostępnych dla użytkownika działaniach przy podłączaniu nowego urządzenia
|
||||
Comment[pt]=Gerir as acções disponíveis para o utilizador, quando são ligados dispositivos novos ao computador
|
||||
Comment[pt_BR]=Gerencia as ações disponíveis ao conectar novos dispositivos
|
||||
Comment[ro]=Gestionează acțiunile oferite utilizatorului la conectarea noilor dispozitive
|
||||
Comment[ru]=Настройка предлагаемых пользователю действий при подключении устройств
|
||||
Comment[sk]=Spravovať akcie dostupné aktuálnemu používateľovi pri pripájaní nových zariadení
|
||||
Comment[sl]=Upravljajte dejanja, ki so na voljo uporabniku, ko se priključi nova naprava
|
||||
Comment[sr]=Одредите радње доступне кориснику при повезивању нових уређаја
|
||||
Comment[sr@ijekavian]=Одредите радње доступне кориснику при повезивању нових уређаја
|
||||
Comment[sr@ijekavianlatin]=Odredite radnje dostupne korisniku pri povezivanju novih uređaja
|
||||
Comment[sr@latin]=Odredite radnje dostupne korisniku pri povezivanju novih uređaja
|
||||
Comment[sv]=Hantera tillgängliga åtgärder för användare när nya enheter ansluts
|
||||
Comment[tr]=Bilgisayara yeni bir aygıt takıldığında kullanıcı tarafından kullanılabilecek eylemleri yönet
|
||||
Comment[uk]=Керування діями, доступними користувачеві після з’єднання пристроїв з комп’ютером
|
||||
Comment[x-test]=xxManage actions available to the user when connecting new devicesxx
|
||||
Comment[zh_CN]=管理当新设备连接时的系统动作
|
||||
Comment[zh_TW]=管理新增裝置到電腦時要做些什麼動作
|
||||
|
||||
X-KDE-Keywords=Solid Devices Actions
|
||||
X-KDE-Keywords[bs]=Akcije čvrstih uređaja
|
||||
X-KDE-Keywords[ca]=Accions de dispositiu del Solid
|
||||
X-KDE-Keywords[ca@valencia]=Accions de dispositiu del Solid
|
||||
X-KDE-Keywords[cs]=Činnosti zařízení Solid
|
||||
X-KDE-Keywords[da]=Solid enhedshandlinger
|
||||
X-KDE-Keywords[de]=Solid-Geräte-Aktionen
|
||||
X-KDE-Keywords[el]=Ενέργειες συσκευής Solid
|
||||
X-KDE-Keywords[en_GB]=Solid Devices Actions
|
||||
X-KDE-Keywords[es]=Acciones de dispositivos Solid
|
||||
X-KDE-Keywords[et]=Solidi seadmete toimingud
|
||||
X-KDE-Keywords[eu]=Solid gailuen ekintzak
|
||||
X-KDE-Keywords[fi]=solid, laitetoiminnot
|
||||
X-KDE-Keywords[fr]=Actions du périphérique Solid
|
||||
X-KDE-Keywords[ga]=Gníomhartha Gléasanna Solid
|
||||
X-KDE-Keywords[gl]=Accións do dispositivo Solid
|
||||
X-KDE-Keywords[he]=פעולות התקן של Solid
|
||||
X-KDE-Keywords[hu]=Solid eszközműveletek
|
||||
X-KDE-Keywords[ia]=Actiones de dispositivos solid
|
||||
X-KDE-Keywords[is]=Aðgerðir Solid-tækja
|
||||
X-KDE-Keywords[it]=Azioni dei dispositivi Solid
|
||||
X-KDE-Keywords[kk]=Solid Devices Actions
|
||||
X-KDE-Keywords[km]=សកម្មភាពឧបករណ៍រឹង
|
||||
X-KDE-Keywords[ko]=Solid 장치 동작
|
||||
X-KDE-Keywords[lt]=Solid įrenginių veiksmai
|
||||
X-KDE-Keywords[lv]=Solid ierīces darbības
|
||||
X-KDE-Keywords[mr]=सॉलिड साधन क्रिया
|
||||
X-KDE-Keywords[nb]=Solid enhetshandlinger
|
||||
X-KDE-Keywords[nds]=Solid,Reedschappen,Akschonen
|
||||
X-KDE-Keywords[nl]=Solid-apparaatacties
|
||||
X-KDE-Keywords[pa]=ਸਾਲਡ ਜੰਤਰ ਐਕਸ਼ਨ
|
||||
X-KDE-Keywords[pl]=Działania na urządzeniach Solid
|
||||
X-KDE-Keywords[pt]=Acções do Dispositivo Solid
|
||||
X-KDE-Keywords[pt_BR]=Ações do dispositivo Solid
|
||||
X-KDE-Keywords[ro]=Acțiuni dispozitiv Solid
|
||||
X-KDE-Keywords[ru]=Действия для устройств Solid
|
||||
X-KDE-Keywords[sk]=Akcie zariadení Solid
|
||||
X-KDE-Keywords[sl]=solid,naprave,dejanja,strojna oprema
|
||||
X-KDE-Keywords[sr]=Solid Devices Actions,Солидове радње над уређајима
|
||||
X-KDE-Keywords[sr@ijekavian]=Solid Devices Actions,Солидове радње над уређајима
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=Solid Devices Actions,Solidove radnje nad uređajima
|
||||
X-KDE-Keywords[sr@latin]=Solid Devices Actions,Solidove radnje nad uređajima
|
||||
X-KDE-Keywords[sv]=Solid enhetsåtgärder
|
||||
X-KDE-Keywords[tr]=Solid Aygıt Eylemleri
|
||||
X-KDE-Keywords[uk]=solid,пристрій,пристрої,дія,дії
|
||||
X-KDE-Keywords[x-test]=xxSolid Devices Actionsxx
|
||||
X-KDE-Keywords[zh_CN]=Solid Devices Actions,设备动作
|
||||
X-KDE-Keywords[zh_TW]=Solid Devices Actions
|
|
@ -1,70 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=ServiceType
|
||||
X-KDE-ServiceType=SolidDevice
|
||||
Name=Solid Device Type
|
||||
Name[ar]=نوع الجهاز في سوليد
|
||||
Name[ast]=Triba de preséu de Solid
|
||||
Name[bn]=সলিড ডিভাইস টাইপ
|
||||
Name[bs]=tip uređaja pod Solidom
|
||||
Name[ca]=Tipus de dispositiu del Solid
|
||||
Name[ca@valencia]=Tipus de dispositiu del Solid
|
||||
Name[cs]=Typ zařízení Solid
|
||||
Name[da]=Solid enhedstype
|
||||
Name[de]=Solid-Gerätetyp
|
||||
Name[el]=Τύπος συμπαγής συσκευής
|
||||
Name[en_GB]=Solid Device Type
|
||||
Name[eo]=Solid Aparata Tipo
|
||||
Name[es]=Tipo de dispositivo de Solid
|
||||
Name[et]=Solidi seadme tüüp
|
||||
Name[eu]=Solid gailu mota
|
||||
Name[fi]=Kiintolaitetyyppi
|
||||
Name[fr]=Type de périphérique Solid
|
||||
Name[fy]=Solid apparaat type
|
||||
Name[ga]=Cineál Gléis Solid
|
||||
Name[gl]=Tipo do dispositivo de Solid
|
||||
Name[gu]=સોલિડ ઉપકરણ પ્રકાર
|
||||
Name[he]=סוג התקן Solid
|
||||
Name[hi]=सोलिड औज़ार प्रकार
|
||||
Name[hr]=Vrsta Solid uređaja
|
||||
Name[hu]=Solid eszköztípus
|
||||
Name[ia]=Typo de dispositivo de Solid
|
||||
Name[id]=Tipe Divais Solid
|
||||
Name[is]=Tegund Solid-tækis
|
||||
Name[it]=Tipo di dispositivo Solid
|
||||
Name[ja]=Solid デバイスのタイプ
|
||||
Name[kk]=Solid құрылғысының түрі
|
||||
Name[km]=ប្រភេទឧបករណ៍តាន់
|
||||
Name[kn]=ಘನ(ಸಾಲಿಡ್) ಸಾಧನ ಬಗೆ
|
||||
Name[ko]=Solid 장치 종류
|
||||
Name[lt]=Solid įrenginio tipas
|
||||
Name[lv]=Solid ierīces tips
|
||||
Name[mk]=Полупроводнички тип на уред
|
||||
Name[ml]=സോളിഡ് ഉപകരണതരം
|
||||
Name[mr]=सॉलिड साधन प्रकार
|
||||
Name[nb]=Type solid-enhet
|
||||
Name[nds]=Solid-Reedschaptyp
|
||||
Name[nl]=Solid-apparaattype
|
||||
Name[nn]=Type Solid-eining
|
||||
Name[pa]=ਸਾਲਡ ਜੰਤਰ ਕਿਸਮ
|
||||
Name[pl]=Typ urządzenia Solid
|
||||
Name[pt]=Tipo de Dispositivo do Solid
|
||||
Name[pt_BR]=Tipo de dispositivo do Solid
|
||||
Name[ro]=Tip dispozitiv solid
|
||||
Name[ru]=Тип устройства Solid
|
||||
Name[si]=දෘඩ මෙවලම් වර්ගය
|
||||
Name[sk]=Typ zariadenia Solid
|
||||
Name[sl]=Vrsta naprave Solid
|
||||
Name[sr]=тип уређаја под Солидом
|
||||
Name[sr@ijekavian]=тип уређаја под Солидом
|
||||
Name[sr@ijekavianlatin]=tip uređaja pod Solidom
|
||||
Name[sr@latin]=tip uređaja pod Solidom
|
||||
Name[sv]=Solid-enhetstyp
|
||||
Name[tg]=Намуди дастгоҳи ҷудошаванда
|
||||
Name[th]=ประเภทอุปกรณ์ของ Solid
|
||||
Name[tr]=Solid Aygıtı Tipi
|
||||
Name[ug]=Solid ئۈسكۈنە تىپى
|
||||
Name[uk]=Тип пристрою Solid
|
||||
Name[wa]=Sôre d' éndjin Solid
|
||||
Name[x-test]=xxSolid Device Typexx
|
||||
Name[zh_CN]=Solid 设备类型
|
||||
Name[zh_TW]=實體裝置類型
|
|
@ -1,8 +0,0 @@
|
|||
project(device_automounter)
|
||||
|
||||
include_directories(${KDE4_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
|
||||
|
||||
set(device_automounter_lib_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/lib/AutomounterSettings.cpp)
|
||||
|
||||
add_subdirectory(kcm)
|
||||
add_subdirectory(kded)
|
|
@ -1,346 +0,0 @@
|
|||
NOTE! The GPL below is copyrighted by the Free Software Foundation, but
|
||||
the instance of code that it refers to (the kde programs) are copyrighted
|
||||
by the authors who actually wrote it.
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
|
@ -1,23 +0,0 @@
|
|||
This document describes the kded_device_automounterrc settings and how they affect behavior.
|
||||
|
||||
General/AutomountUnknownDevices:If true, all devices get mounted regardles of
|
||||
the other conditions.
|
||||
|
||||
General/AutomountOnPlugin: When this is set to true, devices might get
|
||||
mounted when they are inserted.
|
||||
|
||||
General/AutomountOnLogin: When true, devices might get mounted when
|
||||
the module is loaded.
|
||||
|
||||
General/AutomountEnabled: Determines if automounting is globally enabled.
|
||||
|
||||
Devices/<dev>/EverMounted: Used to determine if a device is 'known'. A device
|
||||
is known if it has ever been mounted.
|
||||
|
||||
Devices/<dev>/LastSeenMounted: Saves the 'mounted' state between desktop
|
||||
sessions. Devices with this set to true are
|
||||
automagically remounted when the module loads.
|
||||
|
||||
Devices/<dev>/ForceAutomount: Determines if this device should get
|
||||
automounted regardless of anything else,
|
||||
including AutomountEnabled.
|
|
@ -1,20 +0,0 @@
|
|||
set(kcm_device_automounter_SRCS
|
||||
DeviceAutomounterKCM.cpp
|
||||
DeviceModel.cpp
|
||||
DeviceAutomounterKCM.ui
|
||||
)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
kde4_add_kcfg_files(kcm_device_automounter_SRCS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../lib/AutomounterSettingsBase.kcfgc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/LayoutSettings.kcfgc
|
||||
)
|
||||
|
||||
kde4_add_plugin(kcm_device_automounter ${kcm_device_automounter_SRCS} ${device_automounter_lib_SRCS})
|
||||
|
||||
target_link_libraries(kcm_device_automounter KDE4::kdeui KDE4::solid)
|
||||
|
||||
install(TARGETS kcm_device_automounter DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
|
||||
|
||||
install(FILES device_automounter_kcm.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
|
|
@ -1,247 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009-2010 Trever Fischer <tdfischer@fedoraproject.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
#include "DeviceAutomounterKCM.h"
|
||||
|
||||
#include <QStandardItemModel>
|
||||
#include <QItemSelectionModel>
|
||||
|
||||
#include <KAboutData>
|
||||
#include <KConfigGroup>
|
||||
#include <KInputDialog>
|
||||
#include <KPluginFactory>
|
||||
#include <KGlobal>
|
||||
#include <KLocale>
|
||||
#include <Solid/DeviceNotifier>
|
||||
#include <Solid/StorageVolume>
|
||||
|
||||
#include "AutomounterSettings.h"
|
||||
#include "LayoutSettings.h"
|
||||
#include "DeviceModel.h"
|
||||
|
||||
K_PLUGIN_FACTORY(DeviceAutomounterKCMFactory, registerPlugin<DeviceAutomounterKCM>();)
|
||||
K_EXPORT_PLUGIN(DeviceAutomounterKCMFactory("kcm_device_automounter"))
|
||||
|
||||
DeviceAutomounterKCM::DeviceAutomounterKCM(QWidget *parent, const QVariantList &)
|
||||
: KCModule(DeviceAutomounterKCMFactory::componentData(), parent)
|
||||
{
|
||||
KAboutData *about = new KAboutData(
|
||||
"kcm_device_automounter",
|
||||
0,
|
||||
ki18n("Device Automounter"),
|
||||
"0.1",
|
||||
ki18n("Automatically mounts devices at login or when attached"),
|
||||
KAboutData::License_GPL_V2,
|
||||
ki18n("(c) 2009 Trever Fischer")
|
||||
);
|
||||
about->addAuthor(ki18n("Trever Fischer"));
|
||||
|
||||
setAboutData(about);
|
||||
setupUi(this);
|
||||
|
||||
m_devices = new DeviceModel(this);
|
||||
deviceView->setModel(m_devices);
|
||||
|
||||
connect(automountOnLogin, SIGNAL(stateChanged(int)), this, SLOT(emitChanged()));
|
||||
connect(automountOnPlugin, SIGNAL(stateChanged(int)), this, SLOT(emitChanged()));
|
||||
connect(automountEnabled, SIGNAL(stateChanged(int)), this, SLOT(emitChanged()));
|
||||
connect(automountUnknownDevices, SIGNAL(stateChanged(int)), this, SLOT(emitChanged()));
|
||||
connect(m_devices, SIGNAL(dataChanged(const QModelIndex, const QModelIndex)), this, SLOT(emitChanged()));
|
||||
|
||||
connect(automountEnabled, SIGNAL(stateChanged(int)), this, SLOT(enabledChanged()));
|
||||
|
||||
connect(
|
||||
deviceView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection, const QItemSelection)),
|
||||
this, SLOT(updateForgetDeviceButton())
|
||||
);
|
||||
|
||||
connect(forgetDevice, SIGNAL(clicked(bool)), this, SLOT(forgetSelectedDevices()));
|
||||
|
||||
forgetDevice->setEnabled(false);
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::updateForgetDeviceButton()
|
||||
{
|
||||
foreach(QModelIndex idx, deviceView->selectionModel()->selectedIndexes()) {
|
||||
if (idx.data(DeviceModel::TypeRole) == DeviceModel::Detatched) {
|
||||
forgetDevice->setEnabled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
forgetDevice->setEnabled(false);
|
||||
}
|
||||
|
||||
void
|
||||
DeviceAutomounterKCM::forgetSelectedDevices()
|
||||
{
|
||||
QItemSelectionModel* selected = deviceView->selectionModel();
|
||||
int offset = 0;
|
||||
while(selected->selectedIndexes().size()>0 && selected->selectedIndexes().size() > offset) {
|
||||
if (selected->selectedIndexes()[offset].data(DeviceModel::TypeRole) == DeviceModel::Attached) {
|
||||
offset++;
|
||||
} else {
|
||||
m_devices->forgetDevice(selected->selectedIndexes()[offset].data(DeviceModel::UdiRole).toString());
|
||||
}
|
||||
}
|
||||
changed();
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::emitChanged()
|
||||
{
|
||||
changed();
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::enabledChanged()
|
||||
{
|
||||
if (automountEnabled->checkState() == Qt::Unchecked) {
|
||||
automountOnLogin->setEnabled(false);
|
||||
automountOnPlugin->setEnabled(false);
|
||||
automountUnknownDevices->setEnabled(false);
|
||||
deviceView->setEnabled(false);
|
||||
} else {
|
||||
automountOnLogin->setEnabled(true);
|
||||
automountOnPlugin->setEnabled(true);
|
||||
automountUnknownDevices->setEnabled(true);
|
||||
deviceView->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::load()
|
||||
{
|
||||
if (AutomounterSettings::automountEnabled()) {
|
||||
automountEnabled->setCheckState(Qt::Checked);
|
||||
} else {
|
||||
automountEnabled->setCheckState(Qt::Unchecked);
|
||||
}
|
||||
|
||||
if (AutomounterSettings::automountUnknownDevices()) {
|
||||
automountUnknownDevices->setCheckState(Qt::Checked);
|
||||
} else {
|
||||
automountUnknownDevices->setCheckState(Qt::Unchecked);
|
||||
}
|
||||
|
||||
if (AutomounterSettings::automountOnLogin()) {
|
||||
automountOnLogin->setCheckState(Qt::Checked);
|
||||
} else {
|
||||
automountOnLogin->setCheckState(Qt::Unchecked);
|
||||
}
|
||||
|
||||
if (AutomounterSettings::automountOnPlugin()) {
|
||||
automountOnPlugin->setCheckState(Qt::Checked);
|
||||
} else {
|
||||
automountOnPlugin->setCheckState(Qt::Unchecked);
|
||||
}
|
||||
|
||||
m_devices->reload();
|
||||
enabledChanged();
|
||||
loadLayout();
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::save()
|
||||
{
|
||||
saveLayout();
|
||||
if (this->automountEnabled->checkState() == Qt::Checked) {
|
||||
AutomounterSettings::setAutomountEnabled(true);
|
||||
} else {
|
||||
AutomounterSettings::setAutomountEnabled(false);
|
||||
}
|
||||
|
||||
if (this->automountUnknownDevices->checkState() == Qt::Checked) {
|
||||
AutomounterSettings::setAutomountUnknownDevices(true);
|
||||
} else {
|
||||
AutomounterSettings::setAutomountUnknownDevices(false);
|
||||
}
|
||||
|
||||
if (this->automountOnLogin->checkState() == Qt::Checked) {
|
||||
AutomounterSettings::setAutomountOnLogin(true);
|
||||
} else {
|
||||
AutomounterSettings::setAutomountOnLogin(false);
|
||||
}
|
||||
|
||||
if (this->automountOnPlugin->checkState() == Qt::Checked) {
|
||||
AutomounterSettings::setAutomountOnPlugin(true);
|
||||
} else {
|
||||
AutomounterSettings::setAutomountOnPlugin(false);
|
||||
}
|
||||
|
||||
QStringList validDevices;
|
||||
for(int i = 0;i < m_devices->rowCount();i++) {
|
||||
QModelIndex idx = m_devices->index(i, 0);
|
||||
for(int j = 0;j < m_devices->rowCount(idx);j++) {
|
||||
QModelIndex dev = m_devices->index(j, 1, idx);
|
||||
QString device = dev.data(DeviceModel::UdiRole).toString();
|
||||
validDevices << device;
|
||||
if (dev.data(Qt::CheckStateRole).toInt() == Qt::Checked) {
|
||||
AutomounterSettings::deviceSettings(device).writeEntry("ForceLoginAutomount", true);
|
||||
} else {
|
||||
AutomounterSettings::deviceSettings(device).writeEntry("ForceLoginAutomount", false);
|
||||
}
|
||||
dev = dev.sibling(j, 2);
|
||||
if (dev.data(Qt::CheckStateRole).toInt() == Qt::Checked) {
|
||||
AutomounterSettings::deviceSettings(device).writeEntry("ForceAttachAutomount", true);
|
||||
} else {
|
||||
AutomounterSettings::deviceSettings(device).writeEntry("ForceAttachAutomount", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach(const QString &possibleDevice, AutomounterSettings::knownDevices()) {
|
||||
if (!validDevices.contains(possibleDevice)) {
|
||||
AutomounterSettings::deviceSettings(possibleDevice).deleteGroup();
|
||||
}
|
||||
}
|
||||
|
||||
AutomounterSettings::self()->writeConfig();
|
||||
}
|
||||
|
||||
DeviceAutomounterKCM::~DeviceAutomounterKCM()
|
||||
{
|
||||
saveLayout();
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::saveLayout()
|
||||
{
|
||||
QList<int> widths;
|
||||
const int nbColumn = m_devices->columnCount();
|
||||
for (int i = 0; i < nbColumn; ++i) {
|
||||
widths << deviceView->columnWidth(i);
|
||||
}
|
||||
LayoutSettings::setHeaderWidths(widths);
|
||||
//Check DeviceModel.cpp, thats where the magic row numbers come from.
|
||||
LayoutSettings::setAttachedExpanded(deviceView->isExpanded(m_devices->index(0,0)));
|
||||
LayoutSettings::setDetatchedExpanded(deviceView->isExpanded(m_devices->index(1,0)));
|
||||
LayoutSettings::self()->writeConfig();
|
||||
}
|
||||
|
||||
void DeviceAutomounterKCM::loadLayout()
|
||||
{
|
||||
LayoutSettings::self()->readConfig();
|
||||
//Reset it first, just in case there isn't any layout saved for a particular column.
|
||||
int nbColumn = m_devices->columnCount();
|
||||
for (int i = 0; i < nbColumn; ++i) {
|
||||
deviceView->resizeColumnToContents(i);
|
||||
}
|
||||
QList<int> widths = LayoutSettings::headerWidths();
|
||||
nbColumn = m_devices->columnCount();
|
||||
for(int i = 0;i<nbColumn && i<widths.size();i++) {
|
||||
deviceView->setColumnWidth(i, widths[i]);
|
||||
}
|
||||
deviceView->setExpanded(m_devices->index(0,0), LayoutSettings::attachedExpanded());
|
||||
deviceView->setExpanded(m_devices->index(1,0), LayoutSettings::detatchedExpanded());
|
||||
}
|
|
@ -1,54 +0,0 @@
|
|||
/**************************************************************************
|
||||
* Copyright (C) 2009-2010 Trever Fischer <tdfischer@fedoraproject.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef DEVICEAUTOMOUNTERKCM_H
|
||||
#define DEVICEAUTOMOUNTERKCM_H
|
||||
|
||||
#include <KCModule>
|
||||
#include <QStandardItemModel>
|
||||
#include <QStandardItem>
|
||||
|
||||
#include "ui_DeviceAutomounterKCM.h"
|
||||
|
||||
class DeviceModel;
|
||||
|
||||
class DeviceAutomounterKCM : public KCModule, public Ui::DeviceAutomounterKCM
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DeviceAutomounterKCM(QWidget *parent = 0, const QVariantList &args = QVariantList());
|
||||
virtual ~DeviceAutomounterKCM();
|
||||
|
||||
public slots:
|
||||
void load();
|
||||
void save();
|
||||
|
||||
private slots:
|
||||
void emitChanged();
|
||||
void enabledChanged();
|
||||
void updateForgetDeviceButton();
|
||||
void forgetSelectedDevices();
|
||||
|
||||
private:
|
||||
DeviceModel* m_devices;
|
||||
void saveLayout();
|
||||
void loadLayout();
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,149 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DeviceAutomounterKCM</class>
|
||||
<widget class="QWidget" name="DeviceAutomounterKCM">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>615</width>
|
||||
<height>380</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="automountEnabled">
|
||||
<property name="whatsThis">
|
||||
<string>When this is unchecked, no device automounting of any kind will happen, regardless of anything selected in the "Device Overrides" section.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Enable automatic mounting of removable media</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>76</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="automountUnknownDevices">
|
||||
<property name="whatsThis">
|
||||
<string>When this is checked, only remembered devices will be automatically mounted. A device is 'remembered' if it has ever been mounted before. For instance, plugging in a USB media player to charge is not sufficient to 'remember' it - if the files are not accessed, it will not be automatically mounted the next time it is seen. Once they have been accessed, however, the device's contents will be automatically made available to the system.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Only automatically mount removable media that has been manually mounted before</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="automountOnLogin">
|
||||
<property name="whatsThis">
|
||||
<string>If any removable storage devices are connected to your system when you login to your desktop, their contents will automatically be made available to your system for other programs to read.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Mount all removable media at login</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="automountOnPlugin">
|
||||
<property name="whatsThis">
|
||||
<string>When this is checked, the contents of any storage device will automatically be made available to the system when it is plugged in or attached.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Automatically mount removable media when attached</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="3">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Device Overrides</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QTreeView" name="deviceView">
|
||||
<property name="whatsThis">
|
||||
<string>This list contains the storage devices known to the system. If "Automount on Login" is checked, the device will be automatically mounted even though "Mount all removable media at login" is unchecked. The same applies for "Automount on Attach".
|
||||
|
||||
If "Enable automatic mounting of removable media" is unchecked, the overrides do not apply and no devices will be automatically mounted.</string>
|
||||
</property>
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||
</property>
|
||||
<property name="rootIsDecorated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="itemsExpandable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="animated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="allColumnsShowFocus">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="expandsOnDoubleClick">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="headerShowSortIndicator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="forgetDevice">
|
||||
<property name="whatsThis">
|
||||
<string>Clicking this button causes the selected devices to be 'forgotten'. This is only useful if "Only automatically mount removable media that has been manually mounted before" is checked. Once a device is forgotten and the system is set to only automatically mount familiar devices, the device will not be automatically mounted.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Forget Device</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -1,321 +0,0 @@
|
|||
#include "DeviceModel.h"
|
||||
|
||||
#include <KLocalizedString>
|
||||
#include <KIcon>
|
||||
#include <KDebug>
|
||||
#include <Solid/DeviceNotifier>
|
||||
#include <Solid/Device>
|
||||
#include <Solid/StorageVolume>
|
||||
|
||||
#include "AutomounterSettings.h"
|
||||
|
||||
DeviceModel::DeviceModel(QObject *parent)
|
||||
: QAbstractItemModel(parent)
|
||||
{
|
||||
reload();
|
||||
|
||||
connect(
|
||||
Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(const QString)),
|
||||
this, SLOT(deviceAttached(const QString))
|
||||
);
|
||||
connect(
|
||||
Solid::DeviceNotifier::instance(), SIGNAL(deviceRemoved(const QString)),
|
||||
this, SLOT(deviceRemoved(const QString))
|
||||
);
|
||||
}
|
||||
|
||||
DeviceModel::~DeviceModel()
|
||||
{
|
||||
}
|
||||
|
||||
void DeviceModel::forgetDevice(const QString &udi)
|
||||
{
|
||||
if (m_disconnected.contains(udi)) {
|
||||
beginRemoveRows(index(1, 0), m_disconnected.indexOf(udi), m_disconnected.indexOf(udi));
|
||||
m_disconnected.removeOne(udi);
|
||||
endRemoveRows();
|
||||
} else if (m_attached.contains(udi)) {
|
||||
beginRemoveRows(index(0, 0), m_attached.indexOf(udi), m_attached.indexOf(udi));
|
||||
m_attached.removeOne(udi);
|
||||
endRemoveRows();
|
||||
}
|
||||
m_loginForced.remove(udi);
|
||||
m_attachedForced.remove(udi);
|
||||
}
|
||||
|
||||
QVariant DeviceModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||
{
|
||||
if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
|
||||
switch(section) {
|
||||
case 0:
|
||||
return i18n("Device");
|
||||
case 1:
|
||||
return i18n("Automount on Login");
|
||||
case 2:
|
||||
return i18n("Automount on Attach");
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void DeviceModel::deviceAttached(const QString &udi)
|
||||
{
|
||||
Solid::Device dev(udi);
|
||||
if (dev.is<Solid::StorageVolume>()) {
|
||||
if (m_disconnected.contains(udi)) {
|
||||
emit layoutAboutToBeChanged();
|
||||
beginRemoveRows(index(1, 0), m_disconnected.indexOf(udi), m_disconnected.indexOf(udi));
|
||||
m_disconnected.removeOne(udi);
|
||||
endRemoveRows();
|
||||
emit layoutChanged();
|
||||
}
|
||||
addNewDevice(udi);
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceModel::deviceRemoved(const QString &udi)
|
||||
{
|
||||
if (m_attached.contains(udi)) {
|
||||
emit layoutAboutToBeChanged();
|
||||
beginRemoveRows(index(0, 0), m_attached.indexOf(udi), m_attached.indexOf(udi));
|
||||
m_attached.removeOne(udi);
|
||||
endRemoveRows();
|
||||
emit layoutChanged();
|
||||
addNewDevice(udi);
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceModel::addNewDevice(const QString &udi)
|
||||
{
|
||||
AutomounterSettings::self()->readConfig();
|
||||
if (!m_loginForced.contains(udi)) {
|
||||
m_loginForced[udi] = AutomounterSettings::deviceAutomountIsForced(udi, AutomounterSettings::Login);
|
||||
}
|
||||
if (!m_attachedForced.contains(udi)) {
|
||||
m_loginForced[udi] = AutomounterSettings::deviceAutomountIsForced(udi, AutomounterSettings::Attach);
|
||||
}
|
||||
emit layoutAboutToBeChanged();
|
||||
Solid::Device dev(udi);
|
||||
if (dev.isValid()) {
|
||||
beginInsertRows(index(0, 0), m_attached.size(), m_attached.size()+1);
|
||||
m_attached << udi;
|
||||
kDebug() << "Adding attached device" << udi;
|
||||
} else {
|
||||
beginInsertRows(index(1, 0), m_disconnected.size(), m_disconnected.size()+1);
|
||||
m_disconnected << udi;
|
||||
kDebug() << "Adding disconnected device" << udi;
|
||||
}
|
||||
endInsertRows();
|
||||
emit layoutChanged();
|
||||
}
|
||||
|
||||
void DeviceModel::reload()
|
||||
{
|
||||
beginResetModel();
|
||||
m_loginForced.clear();
|
||||
m_attachedForced.clear();
|
||||
m_attached.clear();
|
||||
m_disconnected.clear();
|
||||
foreach(const QString &dev, AutomounterSettings::knownDevices()) {
|
||||
addNewDevice(dev);
|
||||
}
|
||||
foreach(const QString &udi, m_loginForced.keys()) {
|
||||
m_loginForced[udi] = AutomounterSettings::deviceAutomountIsForced(udi, AutomounterSettings::Login);
|
||||
m_attachedForced[udi] = AutomounterSettings::deviceAutomountIsForced(udi, AutomounterSettings::Attach);
|
||||
}
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QModelIndex DeviceModel::index(int row, int column, const QModelIndex &parent) const
|
||||
{
|
||||
if (parent.isValid()) {
|
||||
if (parent.column() > 0)
|
||||
return QModelIndex();
|
||||
if (parent.row() == 0) {
|
||||
if (row >= 0 && row < m_attached.size() && column >= 0 && column <= 2) {
|
||||
return createIndex(row, column, 0);
|
||||
}
|
||||
} else if (parent.row() == 1) {
|
||||
if (row >= 0 && row < m_disconnected.size() && column >= 0 && column <= 2) {
|
||||
return createIndex(row, column, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((row == 0 || row == 1) && column >= 0 && column <= 2) {
|
||||
return createIndex(row, column, 3);
|
||||
}
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
QModelIndex DeviceModel::parent(const QModelIndex &index) const
|
||||
{
|
||||
if (index.isValid()) {
|
||||
if (index.internalId() == 3) {
|
||||
return QModelIndex();
|
||||
}
|
||||
return createIndex(index.internalId(), 0, 3);
|
||||
}
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
Qt::ItemFlags DeviceModel::flags(const QModelIndex &index) const
|
||||
{
|
||||
if (index.isValid()) {
|
||||
if (index.parent().isValid()) {
|
||||
if (index.column() > 0) {
|
||||
return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable;
|
||||
} else if (index.column() == 0) {
|
||||
return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
|
||||
}
|
||||
}
|
||||
return Qt::ItemIsEnabled;
|
||||
}
|
||||
return Qt::NoItemFlags;
|
||||
}
|
||||
|
||||
bool
|
||||
DeviceModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||
{
|
||||
if (index.isValid() && role == Qt::CheckStateRole && index.column() > 0) {
|
||||
QString udi = index.data(Qt::UserRole).toString();
|
||||
switch(index.column()) {
|
||||
case 1:
|
||||
m_loginForced[udi] = (value.toInt() == Qt::Checked) ? true : false;
|
||||
break;
|
||||
case 2:
|
||||
m_attachedForced[udi] = (value.toInt() == Qt::Checked) ? true : false;
|
||||
break;
|
||||
}
|
||||
emit dataChanged(index, index);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QVariant
|
||||
DeviceModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (index.isValid() && index.parent().isValid()) {
|
||||
if (index.parent().row() == 0) {
|
||||
if (role == TypeRole) {
|
||||
return Attached;
|
||||
}
|
||||
QString udi = m_attached[index.row()];
|
||||
Solid::Device dev(udi);
|
||||
if (role == Qt::UserRole) {
|
||||
return udi;
|
||||
}
|
||||
if (index.column() == 0) {
|
||||
switch(role) {
|
||||
case Qt::DisplayRole: {
|
||||
return dev.description();
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
return i18n("UDI: %1", udi);
|
||||
}
|
||||
case Qt::DecorationRole: {
|
||||
return KIcon(dev.icon());
|
||||
}
|
||||
}
|
||||
} else if (index.column() == 1) {
|
||||
switch(role) {
|
||||
case Qt::CheckStateRole: {
|
||||
return m_loginForced[udi] ? Qt::Checked : Qt::Unchecked;
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
if (m_loginForced[udi] || AutomounterSettings::shouldAutomountDevice(udi, AutomounterSettings::Login)) {
|
||||
return i18n("This device will be automatically mounted at login.");
|
||||
}
|
||||
return i18n("This device will not be automatically mounted at login.");
|
||||
}
|
||||
}
|
||||
} else if (index.column() == 2) {
|
||||
switch(role) {
|
||||
case Qt::CheckStateRole: {
|
||||
return m_attachedForced[udi] ? Qt::Checked : Qt::Unchecked;
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
if (m_attachedForced[udi] || AutomounterSettings::shouldAutomountDevice(udi, AutomounterSettings::Attach)) {
|
||||
return i18n("This device will be automatically mounted when attached.");
|
||||
}
|
||||
return i18n("This device will not be automatically mounted when attached.");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (index.parent().row() == 1) {
|
||||
if (role == TypeRole) {
|
||||
return Detatched;
|
||||
}
|
||||
QString udi = m_disconnected[index.row()];
|
||||
if (role == Qt::UserRole) {
|
||||
return udi;
|
||||
}
|
||||
if (index.column() == 0) {
|
||||
switch(role) {
|
||||
case Qt::DisplayRole: {
|
||||
return AutomounterSettings::getDeviceName(udi);
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
return i18n("UDI: %1", udi);
|
||||
}
|
||||
case Qt::DecorationRole: {
|
||||
return KIcon(AutomounterSettings::getDeviceIcon(udi));
|
||||
}
|
||||
}
|
||||
} else if (index.column() == 1) {
|
||||
switch(role) {
|
||||
case Qt::CheckStateRole: {
|
||||
return m_loginForced[udi] ? Qt::Checked : Qt::Unchecked;
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
if (m_loginForced[udi] || AutomounterSettings::shouldAutomountDevice(udi, AutomounterSettings::Login)) {
|
||||
return i18n("This device will be automatically mounted at login.");
|
||||
}
|
||||
return i18n("This device will not be automatically mounted at login.");
|
||||
}
|
||||
}
|
||||
} else if (index.column() == 2) {
|
||||
switch(role) {
|
||||
case Qt::CheckStateRole: {
|
||||
return m_attachedForced[udi] ? Qt::Checked : Qt::Unchecked;
|
||||
}
|
||||
case Qt::ToolTipRole: {
|
||||
if (m_attachedForced[udi] || AutomounterSettings::shouldAutomountDevice(udi, AutomounterSettings::Attach)) {
|
||||
return i18n("This device will be automatically mounted when attached.");
|
||||
}
|
||||
return i18n("This device will not be automatically mounted when attached.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (index.isValid()) {
|
||||
if (role == Qt::DisplayRole && index.column() == 0) {
|
||||
if (index.row() == 0) {
|
||||
return i18n("Attached Devices");
|
||||
} else if (index.row() == 1) {
|
||||
return i18n("Disconnected Devices");
|
||||
}
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
int DeviceModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
if (parent.isValid()) {
|
||||
if (parent.internalId() < 3 || parent.column() > 0) {
|
||||
return 0;
|
||||
}
|
||||
if (parent.row() == 0) {
|
||||
return m_attached.size();
|
||||
}
|
||||
return m_disconnected.size();
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
int DeviceModel::columnCount(const QModelIndex &parent) const
|
||||
{
|
||||
Q_UNUSED(parent);
|
||||
return 3;
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
#ifndef DEVICEMODEL_H
|
||||
#define DEVICEMODEL_H
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QVariant>
|
||||
#include <QList>
|
||||
#include <QHash>
|
||||
|
||||
class DeviceModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum DeviceType {
|
||||
Attached,
|
||||
Detatched
|
||||
};
|
||||
|
||||
enum {
|
||||
UdiRole = Qt::UserRole,
|
||||
TypeRole
|
||||
};
|
||||
|
||||
DeviceModel(QObject* parent = 0);
|
||||
~DeviceModel();
|
||||
|
||||
Qt::ItemFlags flags(const QModelIndex &index) const;
|
||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
|
||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
|
||||
QModelIndex parent(const QModelIndex &index) const;
|
||||
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
|
||||
|
||||
public slots:
|
||||
void forgetDevice(const QString &udi);
|
||||
void reload();
|
||||
|
||||
private slots:
|
||||
void deviceAttached(const QString &udi);
|
||||
void deviceRemoved(const QString &udi);
|
||||
|
||||
private:
|
||||
void addNewDevice(const QString &udi);
|
||||
QList<QString> m_attached;
|
||||
QList<QString> m_disconnected;
|
||||
QHash<QString, bool> m_loginForced;
|
||||
QHash<QString, bool> m_attachedForced;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="device_automounter_kcmrc"/>
|
||||
<group name="Layout">
|
||||
<entry name="HeaderWidths" type="IntList"/>
|
||||
<entry name="AttachedExpanded" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="DetatchedExpanded" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
|
@ -1,4 +0,0 @@
|
|||
ClassName=LayoutSettings
|
||||
File=LayoutSettings.kcfg
|
||||
Mutators=true
|
||||
Singleton=true
|
|
@ -1,3 +0,0 @@
|
|||
#! /bin/sh
|
||||
$EXTRACTRC *.ui *.kcfg >> rc.cpp
|
||||
$XGETTEXT *.cpp -o $podir/kcm_device_automounter.pot
|
|
@ -1,212 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Exec=kcmshell4 device_automounter_kcm
|
||||
Icon=drive-removable-media
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-KDE-Library=kcm_device_automounter
|
||||
X-KDE-ParentApp=kcontrol
|
||||
X-KDE-System-Settings-Parent-Category=hardware
|
||||
X-KDE-Keywords=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[ar]=ضم,قابل للإزالة,أجهزة,تلقائي
|
||||
X-KDE-Keywords[ast]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[bg]=Mount,Removable,Devices,Automatic,Монтиране,Устройства,Автоматично
|
||||
X-KDE-Keywords[bn]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[bs]=Mount,Removable,Devices,Automatic,montiranje,uklonjivi,uređaji,automatski
|
||||
X-KDE-Keywords[ca]=Muntatge,Extraïble,Dispositius,Automàtic
|
||||
X-KDE-Keywords[ca@valencia]=Muntatge,Extraïble,Dispositius,Automàtic
|
||||
X-KDE-Keywords[cs]=Připojení,Odpojitelné,Zařízení,Automatické
|
||||
X-KDE-Keywords[da]=Montering,flytbare,enheder,automatisk
|
||||
X-KDE-Keywords[de]=Automatische Wechselmedieneinbindung,Wechselmedien,Speichermedien
|
||||
X-KDE-Keywords[el]=Προσάρτηση,αφαιρούμενες,συσκευές,αυτόματη
|
||||
X-KDE-Keywords[en_GB]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[eo]=Munti,Demeteblaj,Aparatoj,Aŭtomate
|
||||
X-KDE-Keywords[es]=Montar,Extraíble,Dispositivos,Automático
|
||||
X-KDE-Keywords[et]=Eemaldatavad seadmed,seadmed,automaatne,ühendamine
|
||||
X-KDE-Keywords[eu]=Muntatu,Aldagarria,Gailuak,Automatikoa
|
||||
X-KDE-Keywords[fa]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[fi]=Liitä,Liittäminen,Irrotettava,Laitteet,Automaattinen
|
||||
X-KDE-Keywords[fr]=Attacher, amovible, périphériques, automatique
|
||||
X-KDE-Keywords[ga]=Feistigh,Inbhainte,Gléasanna,Uathoibríoch
|
||||
X-KDE-Keywords[gl]=Montar,Extraíbel,Dispositivo,Automático
|
||||
X-KDE-Keywords[gu]=માઉન્ટ,દૂર કરી શકાય તેવું,ઉપકરણો,આપમેળે
|
||||
X-KDE-Keywords[he]=Mount,Removable,Devices,Automatic,מעגן,אוטומטית,חיבור,נייד
|
||||
X-KDE-Keywords[hi]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[hu]=Csatolás,Eltávolítható,Eszközök,Automatikus
|
||||
X-KDE-Keywords[ia]=Montar,Removibile,Dispositivos,Automatic
|
||||
X-KDE-Keywords[id]=Kait,Dapat Dilepas,Divais,Otomatis
|
||||
X-KDE-Keywords[is]=Tengja,Fjarlægjanleg,Tæki,Sjálfvirk
|
||||
X-KDE-Keywords[it]=Montaggio,removibile,dispositivo,automatico
|
||||
X-KDE-Keywords[ja]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[kk]=Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[km]=ម៉ោន អាចយកចេញបាន ឧបករណ៍ ស្វ័យប្រវត្តិ
|
||||
X-KDE-Keywords[ko]=Mount,Removable,Devices,Automatic,마운트,자동,이동식,장치
|
||||
X-KDE-Keywords[lt]=Prijungti,Keičiamieji,Įrenginiai,Automatiškai
|
||||
X-KDE-Keywords[lv]=Montēt,noņemams,ierīces,automātiski
|
||||
X-KDE-Keywords[mr]=जोड, काढता येणारी, साधने, स्वयंचलित
|
||||
X-KDE-Keywords[nb]=Monter,Flyttbare,Enheter,Automatisk
|
||||
X-KDE-Keywords[nds]=Inhangen,tuuschbor,Reedschappen,automaatsch
|
||||
X-KDE-Keywords[nl]=Aankoppelen,verwijderbaar,apparaten,automatisch
|
||||
X-KDE-Keywords[nn]=Montering,Flyttbar,Minnepinne,Einingar,Automatisk
|
||||
X-KDE-Keywords[pa]=ਮਾਊਂਟ,ਹਟਾਉਣਯੋਗ,ਜੰਤਰ,ਆਟੋਮੈਟਿਕ
|
||||
X-KDE-Keywords[pl]=Montowanie,Wymienne,Urządzenia,Automatycznie
|
||||
X-KDE-Keywords[pt]=Montagem,Removível,Automática,Dispositivos
|
||||
X-KDE-Keywords[pt_BR]=Montagem,Removível,Automática,Dispositivos
|
||||
X-KDE-Keywords[ro]=Montare,Amoviabil,Dispozitive,Automat
|
||||
X-KDE-Keywords[ru]=Mount,Removable,Devices,Automatic,подключение,внешние,носители,автоматическое,переносные,съёмные,съемные,устройства,монтирование
|
||||
X-KDE-Keywords[sk]=Pripojiť,Vymeniteľný,Zariadenia,Automaticky
|
||||
X-KDE-Keywords[sl]=priklapljanje,priklop,odstranljivo,odstranljive,naprave,samodejno,avtomatično
|
||||
X-KDE-Keywords[sr]=Mount,Removable,Devices,Automatic,монтирање,монтирна,уклоњив,уређај,аутоматски
|
||||
X-KDE-Keywords[sr@ijekavian]=Mount,Removable,Devices,Automatic,монтирање,монтирна,уклоњив,уређај,аутоматски
|
||||
X-KDE-Keywords[sr@ijekavianlatin]=Mount,Removable,Devices,Automatic,montiranje,montirna,uklonjiv,uređaj,automatski
|
||||
X-KDE-Keywords[sr@latin]=Mount,Removable,Devices,Automatic,montiranje,montirna,uklonjiv,uređaj,automatski
|
||||
X-KDE-Keywords[sv]=Montera,Flyttbar,Enheter,Automatisk
|
||||
X-KDE-Keywords[tg]=Васлкунӣ,Ҷудошаванда,Дастгоҳҳо,Худкор
|
||||
X-KDE-Keywords[tr]=Bağla,Çıkarılabilir,Aygıtlar,Otomatik
|
||||
X-KDE-Keywords[ug]=ئېگەرلەش، يۆتكىلىشچان، ئۈسكۈنىلەر، ئاپتوماتىك
|
||||
X-KDE-Keywords[uk]=Mount;Removable;Devices;Automatic;монтування;портативний;змінний;пристрій;пристрої;автоматично;автоматичне
|
||||
X-KDE-Keywords[vi]=Gắn,tháo gỡ được,thiết bị,tự động,Mount,Removable,Devices,Automatic
|
||||
X-KDE-Keywords[wa]=Monter,Oiståve,bodjåve,Éndjins,Otomatike
|
||||
X-KDE-Keywords[x-test]=xxMount,Removable,Devices,Automaticxx
|
||||
X-KDE-Keywords[zh_CN]=Mount,Removable,Devices,Automatic,挂载,自动,可移动,设备
|
||||
X-KDE-Keywords[zh_TW]=Mount,Removable,Devices,Automatic
|
||||
X-DocPath=kcontrol/solid-device-automounter/index.html
|
||||
Name=Removable Devices
|
||||
Name[ar]=أجهزة قابلة للإزالة
|
||||
Name[ast]=Preseos estrayibles
|
||||
Name[bg]=Преносими устройства
|
||||
Name[bn]=অপসারণযোগ্য ডিভাইস
|
||||
Name[bs]=Uklonjivi uređaji
|
||||
Name[ca]=Dispositius extraïbles
|
||||
Name[ca@valencia]=Dispositius extraïbles
|
||||
Name[cs]=Odpojitelná zařízení
|
||||
Name[csb]=Przenosné ùrządzenia
|
||||
Name[da]=Flytbare enheder
|
||||
Name[de]=Wechselmedien
|
||||
Name[el]=Αφαιρούμενες συσκευές
|
||||
Name[en_GB]=Removable Devices
|
||||
Name[eo]=Demeteblaj aparatoj
|
||||
Name[es]=Dispositivos extraíbles
|
||||
Name[et]=Eemaldatavad seadmed
|
||||
Name[eu]=Gailu aldagarriak
|
||||
Name[fa]=دستگاههای جداشدنی
|
||||
Name[fi]=Irrotettavat laitteet
|
||||
Name[fr]=Périphériques amovibles
|
||||
Name[fy]=Utnimbere apparaten
|
||||
Name[ga]=Gléasanna Inbhainte
|
||||
Name[gl]=Dispositivos extraíbeis
|
||||
Name[gu]=દૂર કરી શકાય તેવાં ઉપકરણો
|
||||
Name[he]=התקנים נשלפים
|
||||
Name[hi]=हटाने लायक औज़ार
|
||||
Name[hr]=Uklonjivi uređaji
|
||||
Name[hu]=Cserélhető eszközök
|
||||
Name[ia]=Dispositivos removibile
|
||||
Name[id]=Divais Dapat Dilepaskan
|
||||
Name[is]=Útskiptanleg tæki
|
||||
Name[it]=Dispositivi rimovibili
|
||||
Name[ja]=リムーバブルデバイス
|
||||
Name[kk]=Ауыстырмалы құрылғылар
|
||||
Name[km]=ឧបករណ៍ចល័ត
|
||||
Name[kn]=ತೆಗೆದೆಹಾಕಬಹುದಾದ ಸಾಧನಗಳು
|
||||
Name[ko]=이동식 장치
|
||||
Name[lt]=Keičiamieji įrenginiai
|
||||
Name[lv]=Noņemamās iekārtas
|
||||
Name[mk]=Подвижни уреди
|
||||
Name[ml]=നീക്കം ചെയ്യാവുന്ന ഉപകരണങ്ങള്
|
||||
Name[mr]=काढता येणारी साधने
|
||||
Name[nb]=Flyttbar
|
||||
Name[nds]=Tuuschbor Reedschappen
|
||||
Name[nl]=Verwijderbare apparaten
|
||||
Name[nn]=Flyttbare einingar
|
||||
Name[pa]=ਹਟਾਉਣਯੋਗ ਜੰਤਰ
|
||||
Name[pl]=Urządzenia wymienne
|
||||
Name[pt]=Dispositivos Removíveis
|
||||
Name[pt_BR]=Dispositivos removíveis
|
||||
Name[ro]=Dispozitive amovibile
|
||||
Name[ru]=Внешние носители
|
||||
Name[si]=ඉවත් කල හැකි මෙවලම්
|
||||
Name[sk]=Vymeniteľné zariadenia
|
||||
Name[sl]=Odstranljive naprave
|
||||
Name[sr]=Уклоњиви уређаји
|
||||
Name[sr@ijekavian]=Уклоњиви уређаји
|
||||
Name[sr@ijekavianlatin]=Uklonjivi uređaji
|
||||
Name[sr@latin]=Uklonjivi uređaji
|
||||
Name[sv]=Flyttbara enheter
|
||||
Name[tg]=Дастгоҳҳои ҷудошаванда
|
||||
Name[th]=อุปกรณ์ที่สามารถถอด/เสียบได้
|
||||
Name[tr]=Çıkarılabilir Aygıtlar
|
||||
Name[ug]=چىقىرىۋېتىشكە بولىدىغان ئۈسكۈنىلەر
|
||||
Name[uk]=Портативні пристрої
|
||||
Name[vi]=Thiết bị tháo gỡ được
|
||||
Name[wa]=Éndjins bodjåves
|
||||
Name[x-test]=xxRemovable Devicesxx
|
||||
Name[zh_CN]=移动设备
|
||||
Name[zh_TW]=可移除裝置
|
||||
Comment=Configure automatic handling of removable storage media
|
||||
Comment[ar]=اضبط المعالجة التلقائية لوسائط التخزين القابلة للإزالة
|
||||
Comment[ast]=Configurar la xestión automática de medios d'atroxamientu estrayibles
|
||||
Comment[bg]=Настройки на автоматични действия за преносими устройства за съхранение на данни
|
||||
Comment[bs]=Podešavanje automatskog rukovanja uklonjivim skladišnim medijumima
|
||||
Comment[ca]=Configura la gestió automàtica dels suports d'emmagatzematge extraïbles
|
||||
Comment[ca@valencia]=Configura la gestió automàtica dels suports d'emmagatzematge extraïbles
|
||||
Comment[cs]=Nastavit automatické zacházení s odpojitelnými médii
|
||||
Comment[csb]=Ùsôdzanié aùtomamtny robòtë z przenosnyma mediama
|
||||
Comment[da]=Indstil automatisk håndtering af flytbare lagringsmedier
|
||||
Comment[de]=Automatischen Umgang mit Wechselmedien einrichten
|
||||
Comment[el]=Διαμόρφωση αυτόματης διαχείρισης των αφαιρούμενων μέσων αποθήκευσης
|
||||
Comment[en_GB]=Configure automatic handling of removable storage media
|
||||
Comment[eo]=Agordi aŭtomatan traktadon de demeteblaj datumprotiloj
|
||||
Comment[es]=Configurar la gestión automática de medios de almacenamiento extraíbles
|
||||
Comment[et]=Eemaldatavate andmekandjate automaatse käitlemise seadistamine
|
||||
Comment[eu]=Biltegiratze-euskarri aldagarrien maneiu automatikoa konfiguratzea
|
||||
Comment[fi]=Irrotettavan tallennusmedian automaattisen käsittelyn asetukset
|
||||
Comment[fr]=Configure la prise en charge automatique des média amovibles de stockage
|
||||
Comment[fy]=IT automatysk ôfhanneljen fan útnimbere opslach media ynstelle
|
||||
Comment[ga]=Cumraigh láimhseáil uathoibríoch meán inbhainte stórála
|
||||
Comment[gl]=Configura a xestión automática dos medios extraíbeis de almacenaxe
|
||||
Comment[gu]=દૂર કરી શકાય તેવા સંગ્રહ ઉપકરણોની દેખરેખ રુપરેખાંકિત કરો
|
||||
Comment[he]=הגדרת תפעול אוטומטי להתקני אחסון נשלפים.
|
||||
Comment[hi]=हटाने योग्य भंडारण मीडिया का स्वत: हैंडलिंग कॉन्फ़िगर करें
|
||||
Comment[hr]=Podesi automatsko korištenje uklonjivih medija za pohranu
|
||||
Comment[hu]=Cserélhető eszközök automatikus kezelésének beállítása
|
||||
Comment[ia]=Il configura le tractamento automatic de media de immagazinage removibile
|
||||
Comment[id]=Mengatur penanganan otomatis dari media penyimpanan dapat dilepas
|
||||
Comment[is]=Stilla sjálfvirka meðhöndlun á fjarlægjanlegum geymslumiðlum
|
||||
Comment[it]=Configura la gestione automatica dei supporti rimovibili
|
||||
Comment[ja]=リムーバブルストレージメディアの自動処理を設定
|
||||
Comment[kk]=Ауыстырмалы сақтағыш тасушылармен автоматты түрде айналысуды баптау
|
||||
Comment[km]=កំណត់រចនាសម្ព័ន្ធការគ្រប់គ្រងដោយស្វ័យប្រវត្តិរបស់មេឌៀផ្ទុកចល័ត
|
||||
Comment[ko]=이동식 저장소 미디어 자동 처리 설정
|
||||
Comment[lt]=Konfigūruoti automatinį keičiamųjų įrenginių tvarkymą
|
||||
Comment[lv]=Konfigurēt noņemamo datu nesēju automātisku apstrādi
|
||||
Comment[mk]=Го конфигурира автоматското ракување со подвижните носачи
|
||||
Comment[ml]=നീക്കം ചെയ്യാവുന്ന സംഭരണ മാധ്യമത്തിനെ സ്വയം കൈകാര്യം ചെയ്യുന്നതു് ക്രമീകരിയ്ക്കുക.
|
||||
Comment[mr]=काढता येणाऱ्या संचयन साधनांची स्वयंचलितरित्या हाताळणी संयोजीत करा
|
||||
Comment[nb]=Sett opp automatisk håndtering av flyttbare lagringsmedium
|
||||
Comment[nds]=Dat automaatsche Hanteren vun tuuschbor Spiekerreedschappen instellen
|
||||
Comment[nl]=Automatische behandeling van verwijderbare opslagmedia configureren
|
||||
Comment[nn]=Set opp automatisk handtering av flyttbare lagringsmedium
|
||||
Comment[pa]=ਹਟਾਉਣਯੋਗ ਸਟੋਰੇਜ਼ ਮੀਡਿਆ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੈਂਡਲ ਕਰਨ ਲਈ ਸੰਰਚਨਾ
|
||||
Comment[pl]=Ustawienia samoczynnej obsługi urządzeń wymiennych
|
||||
Comment[pt]=Configurar o tratamento automático dos dispositivos removíveis de armazenamento
|
||||
Comment[pt_BR]=Configura o funcionamento automático de mídias removíveis
|
||||
Comment[ro]=Configurează manipularea automată a mediilor de stocare amovibile
|
||||
Comment[ru]=Настройка автоматического подключения внешних носителей информации
|
||||
Comment[si]=ඉවත් කල හැකි ගබඩා මෙවලම් වල ස්වයංක්රීය හැසිරවීම වින්යාසගත කරයි
|
||||
Comment[sk]=Nastavenie automatického zaobchádzania s vymeniteľnými médiami
|
||||
Comment[sl]=Nastavi samodejno rokovanje z odstranljivimi nosilci za shranjevanje
|
||||
Comment[sr]=Подешавање аутоматског руковања уклоњивим складишним медијумима
|
||||
Comment[sr@ijekavian]=Подешавање аутоматског руковања уклоњивим складишним медијумима
|
||||
Comment[sr@ijekavianlatin]=Podešavanje automatskog rukovanja uklonjivim skladišnim medijumima
|
||||
Comment[sr@latin]=Podešavanje automatskog rukovanja uklonjivim skladišnim medijumima
|
||||
Comment[sv]=Anpassa automatisk hantering av flyttbara lagringsmedia
|
||||
Comment[tg]=Танзимоти коркарди худкор барои дастгоҳҳои ҷудошавандаи медиа
|
||||
Comment[th]=ปรับแต่งการจัดการอัตโนมัติให้กับสื่อจัดเก็บข้อมูลแบบถอด/เสียบได้
|
||||
Comment[tr]=Çıkarılabilir depolama ortamlarının otomatik yönetimini yapılandır
|
||||
Comment[ug]=يۆتكىلىشچان ساقلاش ۋاسىتىسىنىڭ ئۆزلۈكىدىن بىر تەرەپ قىلىش سەپلىمىسى
|
||||
Comment[uk]=Налаштувати автоматичну обробку портативних носіїв даних
|
||||
Comment[vi]=Cấu hình xử lý tự động các phương tiện lưu trữ tháo gỡ được
|
||||
Comment[wa]=Apontyî l' apougnaedje otomatike di sopoirts di stocaedje di masse
|
||||
Comment[x-test]=xxConfigure automatic handling of removable storage mediaxx
|
||||
Comment[zh_CN]=配置对移动存储设备的自动处理
|
||||
Comment[zh_TW]=設定可移除儲存裝置的自動處理
|
||||
Categories=Qt;KDE;Filesystem;System;X-KDE-settings-components;
|
|
@ -1,12 +0,0 @@
|
|||
set(kded_device_automounter_SRCS DeviceAutomounter.cpp)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
kde4_add_kcfg_files(kded_device_automounter_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../lib/AutomounterSettingsBase.kcfgc)
|
||||
|
||||
kde4_add_plugin(kded_device_automounter ${device_automounter_lib_SRCS} ${kded_device_automounter_SRCS})
|
||||
|
||||
target_link_libraries(kded_device_automounter KDE4::kdeui KDE4::solid)
|
||||
|
||||
install(TARGETS kded_device_automounter DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
|
||||
|
||||
install(FILES device_automounter.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR}/kded)
|
|
@ -1,100 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Trever Fischer <wm161@wm161.net> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
#include "DeviceAutomounter.h"
|
||||
|
||||
#include <KPluginFactory>
|
||||
|
||||
#include <Solid/Device>
|
||||
#include <Solid/DeviceNotifier>
|
||||
#include <Solid/StorageAccess>
|
||||
#include <Solid/StorageVolume>
|
||||
|
||||
#include <QTimer>
|
||||
#include <KGlobal>
|
||||
#include <KLocale>
|
||||
|
||||
#include <KDebug>
|
||||
|
||||
K_PLUGIN_FACTORY(DeviceAutomounterFactory, registerPlugin<DeviceAutomounter>();)
|
||||
K_EXPORT_PLUGIN(DeviceAutomounterFactory("kded_device_automounter"))
|
||||
|
||||
DeviceAutomounter::DeviceAutomounter(QObject *parent, const QVariantList &args)
|
||||
: KDEDModule(parent)
|
||||
{
|
||||
Q_UNUSED(args);
|
||||
QTimer::singleShot(0, this, SLOT(init()));
|
||||
}
|
||||
|
||||
DeviceAutomounter::~DeviceAutomounter()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
DeviceAutomounter::init()
|
||||
{
|
||||
connect(Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(const QString&)), this, SLOT(deviceAdded(const QString&)));
|
||||
QList<Solid::Device> volumes = Solid::Device::listFromType(Solid::DeviceInterface::StorageVolume);
|
||||
foreach(Solid::Device volume, volumes) {
|
||||
// sa can be 0 (e.g. for the swap partition)
|
||||
if (Solid::StorageAccess *sa = volume.as<Solid::StorageAccess>())
|
||||
connect(sa, SIGNAL(accessibilityChanged(bool, const QString)),
|
||||
this, SLOT(deviceMountChanged(bool, const QString)));
|
||||
automountDevice(volume, AutomounterSettings::Login);
|
||||
}
|
||||
AutomounterSettings::self()->writeConfig();
|
||||
}
|
||||
|
||||
void
|
||||
DeviceAutomounter::deviceMountChanged(bool accessible, const QString &udi)
|
||||
{
|
||||
AutomounterSettings::setDeviceLastSeenMounted(udi, accessible);
|
||||
AutomounterSettings::self()->writeConfig();
|
||||
}
|
||||
|
||||
void
|
||||
DeviceAutomounter::automountDevice(Solid::Device &dev, AutomounterSettings::AutomountType type)
|
||||
{
|
||||
if (dev.is<Solid::StorageVolume>() && dev.is<Solid::StorageAccess>()) {
|
||||
Solid::StorageAccess *sa = dev.as<Solid::StorageAccess>();
|
||||
AutomounterSettings::setDeviceLastSeenMounted(dev.udi(), sa->isAccessible());
|
||||
AutomounterSettings::saveDevice(dev);
|
||||
kDebug() << "Saving as" << dev.description();
|
||||
if (AutomounterSettings::shouldAutomountDevice(dev.udi(), type)) {
|
||||
Solid::StorageVolume *sv = dev.as<Solid::StorageVolume>();
|
||||
if (!sv->isIgnored()) {
|
||||
kDebug() << "Mounting" << dev.udi();
|
||||
sa->setup();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
DeviceAutomounter::deviceAdded(const QString &udi)
|
||||
{
|
||||
AutomounterSettings::self()->readConfig();
|
||||
Solid::Device dev(udi);
|
||||
automountDevice(dev, AutomounterSettings::Attach);
|
||||
AutomounterSettings::self()->writeConfig();
|
||||
if (dev.is<Solid::StorageAccess>()) {
|
||||
Solid::StorageAccess *sa = dev.as<Solid::StorageAccess>();
|
||||
connect(sa, SIGNAL(accessibilityChanged(bool, const QString)), this, SLOT(deviceMountChanged(bool, const QString)));
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Trever Fischer <wm161@wm161.net> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
#ifndef DEVICEAUTOMOUNTER_H
|
||||
#define DEVICEAUTOMOUNTER_H
|
||||
|
||||
#include <QtCore/qvariant.h>
|
||||
#include <KDEDModule>
|
||||
#include <Solid/Device>
|
||||
#include "AutomounterSettings.h"
|
||||
|
||||
class DeviceAutomounter : public KDEDModule {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DeviceAutomounter(QObject *parent = 0, const QVariantList &args = QVariantList());
|
||||
virtual ~DeviceAutomounter();
|
||||
private slots:
|
||||
void init();
|
||||
void deviceAdded(const QString &udi);
|
||||
void deviceMountChanged(bool accessible, const QString &udi);
|
||||
private:
|
||||
void automountDevice(Solid::Device &dev, AutomounterSettings::AutomountType type);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,146 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KDEDModule
|
||||
X-KDE-Kded-autoload=true
|
||||
X-KDE-Kded-load-on-demand=false
|
||||
X-KDE-Kded-phase=1
|
||||
X-KDE-Library=device_automounter
|
||||
X-KDE-DBus-ModuleName=device_automounter
|
||||
Name=Removable Device Automounter
|
||||
Name[ar]=المركب الآلي لأجهزة التخزين القابلة للإزالة
|
||||
Name[ast]=Automontaxe de preseos estrayibles
|
||||
Name[bg]=Автоматично монтиране на преносими устройства
|
||||
Name[bn]=অপসারণযোগ্য ডিভাইস অটো-মাউন্টার
|
||||
Name[bs]=Automonter uklonjivih uređaja
|
||||
Name[ca]=Muntador automàtic de dispositius extraïbles
|
||||
Name[ca@valencia]=Muntador automàtic de dispositius extraïbles
|
||||
Name[cs]=Automatické připojování odpojitelných zařízení
|
||||
Name[csb]=Aùtomatné dodôwanié przenosnych mediów
|
||||
Name[da]=Automontering af flytbare enheder
|
||||
Name[de]=Automatische Wechselmedieneinbindung
|
||||
Name[el]=Αυτόματη προσάρτηση αφαιρούμενων συσκευών
|
||||
Name[en_GB]=Removable Device Automounter
|
||||
Name[eo]=Aŭtomata muntilo de demeteblaj aparatoj
|
||||
Name[es]=Automontaje de dispositivos extraíbles
|
||||
Name[et]=Eemaldatavate seadmete automaatne ühendaja
|
||||
Name[eu]=Gailu aldagarrien muntaketa automatikoa
|
||||
Name[fa]=سوارساز خوذکار دستگاههای جداشدنی
|
||||
Name[fi]=Irrotettavan laitteen automaattiasentaja
|
||||
Name[fr]=Auto-monteur de périphérique amovible
|
||||
Name[fy]=Utnimber apparaat autokeppelder
|
||||
Name[ga]=Feisteoir Uathoibríoch Do Ghléasanna Inbhainte
|
||||
Name[gl]=Montador automático de dispositivos extraíbeis
|
||||
Name[gu]=દૂર કરી શકાય તેવા ઉપકરણોને આપમેળે માઉન્ટ કરનાર
|
||||
Name[he]=מעגן אוטומטי של התקנים
|
||||
Name[hi]=हटाने योग्य युक्ति स्वतःमाउन्टर
|
||||
Name[hr]=Automatski monter uklonjivih uređaja
|
||||
Name[hu]=Automatikus cserélhetőeszköz-csatoló
|
||||
Name[ia]=Removable Device Automounter (Montator automatic de Dispositivo Removibile)
|
||||
Name[id]=Pengait Otomatis Divais Dapat Dilepas
|
||||
Name[is]=Sjálfvirk tenging fjarlægjanlegra geymslumiðla
|
||||
Name[it]=Montaggio automatico dei dispositivi rimovibili
|
||||
Name[ja]=リムーバブルデバイスの自動マウント
|
||||
Name[kk]=Ауыстырмалы құрылғының автоттіркегіші
|
||||
Name[km]=កម្មវិធីម៉ោនឧបករណ៍ចល័តដោយស្វ័យប្រវត្តិ
|
||||
Name[ko]=이동식 장치 자동 마운터
|
||||
Name[lt]=Keičiamųjų įrenginių automatinis prijungimas
|
||||
Name[lv]=Noņemamo iekārtu automontētājs
|
||||
Name[mk]=Автом. монтирање на подвижните уреди
|
||||
Name[ml]=നീക്കം ചെയ്യാവുന്ന ഉപകരണങ്ങളുടെ ഔട്ടോമൌണ്ടര്
|
||||
Name[mr]=काढता येणारे साधन स्वयंचलित जुळवणीकार
|
||||
Name[nb]=Automatisk montering av flyttbare enheter
|
||||
Name[nds]=Autom. Inhangdeenst för tuuschbor Reedschappen
|
||||
Name[nl]=Automatische aankoppelaar voor verwijderbare apparaten
|
||||
Name[nn]=Automontering av flyttbare einingar
|
||||
Name[pa]=ਹਟਾਉਣਯੋਗ ਜੰਤਰ ਆਟੋ-ਮਾਊਂਟਰ
|
||||
Name[pl]=Samoczynne montowanie urządzeń wymiennych
|
||||
Name[pt]=Montagem Automática dos Dispositivos Removíveis
|
||||
Name[pt_BR]=Montagem automática de dispositivos removíveis
|
||||
Name[ro]=Montator automat de dispozitive amovibile
|
||||
Name[ru]=Подключение внешних носителей
|
||||
Name[si]=ඉවත්කල හැකි මෙවලම ස්වයංව සවිකරනය
|
||||
Name[sk]=Automatické pripájanie vymeniteľných zariadení
|
||||
Name[sl]=Samodejno priklapljanje odstranljivih naprav
|
||||
Name[sr]=Аутомонтер уклоњивих уређаја
|
||||
Name[sr@ijekavian]=Аутомонтер уклоњивих уређаја
|
||||
Name[sr@ijekavianlatin]=Automonter uklonjivih uređaja
|
||||
Name[sr@latin]=Automonter uklonjivih uređaja
|
||||
Name[sv]=Automatisk montering av flyttbara enheter
|
||||
Name[tg]=Худваслкунандаи дасгоҳи ҷудошаванда
|
||||
Name[th]=ตัวเมานท์อัตโนมัติให้กับอุปกรณ์ถอด/เสียบได้
|
||||
Name[tr]=Otomatik Çıkarılabilir Aygıt Bağlayıcı
|
||||
Name[ug]=يۆتكىلىشچان ئۈسكۈنىنى ئۆزلۈكىدىن ئېگەرلىگۈچ
|
||||
Name[uk]=Автоматичне монтування портативних пристроїв
|
||||
Name[vi]=Trình tự động gắn thiết bị tháo gỡ được
|
||||
Name[wa]=Oto-monteu d' éndjin bodjåve
|
||||
Name[x-test]=xxRemovable Device Automounterxx
|
||||
Name[zh_CN]=移动设备自动挂载程序
|
||||
Name[zh_TW]=可移除裝置自動掛載器
|
||||
Comment=Automatically mounts devices as needed
|
||||
Comment[ar]=وصْل الأجهزة تلقائياً عند الحاجة
|
||||
Comment[ast]=Monta automáticamente preseos cuando se necesiten
|
||||
Comment[bg]=Автоматично монтиране на устройства при нужда
|
||||
Comment[bn]=প্রয়োজনমত ডিভাইস নিজে থেকে মাউন্ট করে
|
||||
Comment[bs]=Automatsko montiranje uređaja po potrebi
|
||||
Comment[ca]=Munta automàticament els dispositius quan es necessita
|
||||
Comment[ca@valencia]=Munta automàticament els dispositius quan es necessita
|
||||
Comment[cs]=Připojí automaticky zařízení podle potřeby
|
||||
Comment[da]=Monterer automatisk enheder efter behov
|
||||
Comment[de]=Bindet Geräte bei Bedarf automatisch ein
|
||||
Comment[el]=Αυτόματη προσάρτηση συσκευών όταν χρειάζεται
|
||||
Comment[en_GB]=Automatically mounts devices as needed
|
||||
Comment[eo]=Ĝi aŭtomate muntas la aparatojn kiam necese
|
||||
Comment[es]=Monta automáticamente dispositivos cuando es necesario
|
||||
Comment[et]=Seadmete automaatne ühendamine vajaduse korral
|
||||
Comment[eu]=Gailuak automatikoki muntatzen ditu behar izanez gero
|
||||
Comment[fa]=درصورت نیاز دستگاهها را به صورت خودکار سوار میکند
|
||||
Comment[fi]=Liittää laitteet automaattisesti tarpeen mukaan
|
||||
Comment[fr]=Monte automatiquement les périphériques à la demande
|
||||
Comment[ga]=Feistigh gléasanna go huathoibríoch nuair a bheidh siad de dhíth
|
||||
Comment[gl]=Monta automaticamente os dispositivos cando sexa preciso
|
||||
Comment[gu]=જરુરિયાત મુજબ ઉપકરણો આપમેળે માઉન્ટ કરે છે
|
||||
Comment[he]=מעגן התקנים אוטומטית על־פי הצורך
|
||||
Comment[hi]=जरुरत होने पर उपकरण स्वतः माउन्ट होगा
|
||||
Comment[hr]=Automatski montira uređaje po potrebi
|
||||
Comment[hu]=Eszközök automatikus csatolása amint szükséges
|
||||
Comment[ia]=Il monta automaticamente le dispositivos como il necessita
|
||||
Comment[id]=Secara otomatis mengaitkan divais ketika diperlukan
|
||||
Comment[is]=Tengir tæki sjálfvirkt eftir þörfum inn í skráakerfi
|
||||
Comment[it]=Monta automaticamente i dispositivi secondo necessità
|
||||
Comment[ja]=必要に応じて自動的にデバイスをマウントします
|
||||
Comment[kk]=Құрылғыны керек кезде автоматты түрде тіркеу
|
||||
Comment[km]=ម៉ោនឧបករណ៍ដោយស្វ័យប្រវត្តិ នៅពេលដែលត្រូវការ
|
||||
Comment[kn]=ಅಗತ್ಯವಿದ್ದಾಗ ಸಾಧನಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆರೋಹಿಸುತ್ತದೆ
|
||||
Comment[ko]=필요할 때 자동으로 장치를 마운트합니다
|
||||
Comment[lt]=Prireikus automatiškai prijungia įrenginius
|
||||
Comment[lv]=Automātiski piemontē pieslēgtās ierīces
|
||||
Comment[ml]=ഉപകരണങ്ങള് ആവശ്യമുള്ളപ്പോള് അവ സ്വയം മൌണ്ട് ചെയ്യുന്നതാണ്
|
||||
Comment[mr]=जशी गरज असेले तसे स्वयंचलितरित्या साधने जुळवितो
|
||||
Comment[nb]=Monterer enheter automatisk når de trengs
|
||||
Comment[nds]=Hangt bruukt Reedschappen automaatsch in.
|
||||
Comment[nl]=Koppelt automatisch apparaten aan zoals nodig is
|
||||
Comment[nn]=Monter einingar automatisk når dei trengst
|
||||
Comment[pa]=ਜਦੋਂ ਲੋੜ ਹੋਵੇ ਤਾਂ ਜੰਤਰ ਆਟੋਮੈਟਿਕ ਮਾਊਂਟ ਕਰੋ
|
||||
Comment[pl]=Samoczynnie montuje urządzenia, gdy są potrzebne
|
||||
Comment[pt]=Monta automaticamente os dispositivos à medida das necessidades
|
||||
Comment[pt_BR]=Monta automaticamente os dispositivos quando necessário
|
||||
Comment[ro]=Montează automat dispozitivele atunci cînd este necesar
|
||||
Comment[ru]=Автоматически подключает внешние носители информации
|
||||
Comment[si]=අවශ්ය පරිදි මෙවලම් ස්වයංව සවි කරයි
|
||||
Comment[sk]=Automaticky pripojí zariadenia podľa potreby
|
||||
Comment[sl]=Samodejno po potrebi priklopi naprave
|
||||
Comment[sr]=Аутоматско монтирање уређаја по потреби
|
||||
Comment[sr@ijekavian]=Аутоматско монтирање уређаја по потреби
|
||||
Comment[sr@ijekavianlatin]=Automatsko montiranje uređaja po potrebi
|
||||
Comment[sr@latin]=Automatsko montiranje uređaja po potrebi
|
||||
Comment[sv]=Monterar automatiskt enheter efter behov
|
||||
Comment[tg]=Аз рӯи зарурат дастгоҳҳоро ба худкор васл мекунад
|
||||
Comment[th]=ต้องการอุปกรณ์ต่าง ๆ ที่จะให้ทำการเมานท์อัตโนมัติ
|
||||
Comment[tr]=Aygıtları gerektiğinde otomatik olarak bağlar
|
||||
Comment[ug]=زۆرۈر بولغاندا ئۈسكۈنە ئۆزلۈكىدىن ئېگەرلىنىدۇ
|
||||
Comment[uk]=Автоматичне монтування пристроїв за вимогою
|
||||
Comment[vi]=Tự động gắn các thiết bị khi cần thiết
|
||||
Comment[wa]=Monte otomaticmint des éndjins come mezåjhe
|
||||
Comment[x-test]=xxAutomatically mounts devices as neededxx
|
||||
Comment[zh_CN]=按需自动挂载设备
|
||||
Comment[zh_TW]=需要時自動掛載
|
|
@ -1,127 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Trever Fischer <wm161@wm161.net> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
#include "AutomounterSettings.h"
|
||||
|
||||
#include <QtCore/QDateTime>
|
||||
|
||||
KConfigGroup
|
||||
AutomounterSettings::deviceSettings(const QString &udi)
|
||||
{
|
||||
return self()->config()->group("Devices").group(udi);
|
||||
}
|
||||
|
||||
QStringList
|
||||
AutomounterSettings::knownDevices()
|
||||
{
|
||||
return self()->config()->group("Devices").groupList();
|
||||
}
|
||||
|
||||
bool
|
||||
AutomounterSettings::deviceIsKnown(const QString &udi)
|
||||
{
|
||||
return self()->config()->group("Devices").group(udi).readEntry("EverMounted", false);
|
||||
}
|
||||
|
||||
bool
|
||||
AutomounterSettings::deviceAutomountIsForced(const QString &udi, AutomountType type)
|
||||
{
|
||||
switch (type) {
|
||||
case Login:
|
||||
return deviceSettings(udi).readEntry("ForceLoginAutomount", false);
|
||||
case Attach:
|
||||
return deviceSettings(udi).readEntry("ForceAttachAutomount", false);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
AutomounterSettings::shouldAutomountDevice(const QString &udi, AutomountType type)
|
||||
{
|
||||
/*
|
||||
* First, we check the device-specific AutomountEnabled-overriding Automount value.
|
||||
* If thats true, we then check AutomountEnabled. Assuming true, we check if we
|
||||
* should automount known devices and if it is a known device. If neither, we check if
|
||||
* we should bother restoring its 'mounted' propery.
|
||||
*/
|
||||
bool known = deviceIsKnown(udi);
|
||||
bool enabled = automountEnabled();
|
||||
bool automountUnknown = automountUnknownDevices();
|
||||
bool deviceAutomount = deviceAutomountIsForced(udi, type);
|
||||
bool lastSeenMounted = deviceSettings(udi).readEntry("LastSeenMounted", false);
|
||||
bool typeCondition = false;
|
||||
switch(type) {
|
||||
case Login:
|
||||
typeCondition = automountOnLogin();
|
||||
break;
|
||||
case Attach:
|
||||
typeCondition = automountOnPlugin();
|
||||
break;
|
||||
}
|
||||
bool shouldAutomount = deviceAutomount || (enabled && typeCondition
|
||||
&& (known || lastSeenMounted || automountUnknown));
|
||||
|
||||
kDebug() << "Processing" << udi;
|
||||
kDebug() << "type:" << type;
|
||||
kDebug() << "typeCondition:" << typeCondition;
|
||||
kDebug() << "deviceIsKnown:" << known;
|
||||
kDebug() << "automountUnknown:" << automountUnknown;
|
||||
kDebug() << "AutomountEnabled:" << enabled;
|
||||
kDebug() << "Automount:" << deviceAutomount;
|
||||
kDebug() << "LastSeenMounted:" << lastSeenMounted;
|
||||
kDebug() << "ShouldAutomount:" << shouldAutomount;
|
||||
|
||||
return shouldAutomount;
|
||||
}
|
||||
|
||||
void
|
||||
AutomounterSettings::setDeviceLastSeenMounted(const QString &udi, bool mounted)
|
||||
{
|
||||
kDebug() << "Marking" << udi << "as lastSeenMounted:" << mounted;
|
||||
if (mounted)
|
||||
deviceSettings(udi).writeEntry("EverMounted", true);
|
||||
deviceSettings(udi).writeEntry("LastSeenMounted", mounted);
|
||||
}
|
||||
|
||||
QString
|
||||
AutomounterSettings::getDeviceName(const QString &udi)
|
||||
{
|
||||
return deviceSettings(udi).readEntry("LastNameSeen");
|
||||
}
|
||||
|
||||
void
|
||||
AutomounterSettings::saveDevice(const Solid::Device &dev)
|
||||
{
|
||||
KConfigGroup settings = deviceSettings(dev.udi());
|
||||
settings.writeEntry("LastNameSeen", dev.description());
|
||||
settings.writeEntry("Icon", dev.icon());
|
||||
}
|
||||
|
||||
bool
|
||||
AutomounterSettings::getDeviceForcedAutomount(const QString &udi)
|
||||
{
|
||||
return deviceSettings(udi).readEntry("ForceAutomount", false);
|
||||
}
|
||||
|
||||
QString
|
||||
AutomounterSettings::getDeviceIcon(const QString &udi)
|
||||
{
|
||||
return deviceSettings(udi).readEntry("Icon");
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2009 by Trever Fischer <wm161@wm161.net> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef AUTOMOUNTERSETTINGS_H
|
||||
#define AUTOMOUNTERSETTINGS_H
|
||||
|
||||
#include "AutomounterSettingsBase.h"
|
||||
|
||||
#include <KConfigGroup>
|
||||
|
||||
#include <Solid/Device>
|
||||
|
||||
class AutomounterSettings : public AutomounterSettingsBase {
|
||||
public:
|
||||
enum AutomountType {
|
||||
Login,
|
||||
Attach
|
||||
};
|
||||
static KConfigGroup deviceSettings(const QString &udi);
|
||||
static QStringList knownDevices();
|
||||
static bool deviceIsKnown(const QString &udi);
|
||||
static bool shouldAutomountDevice(const QString &udi, AutomountType type);
|
||||
static void setDeviceLastSeenMounted(const QString &udi, bool mounted);
|
||||
static bool deviceAutomountIsForced(const QString &udi, AutomountType type);
|
||||
static QString getDeviceName(const QString &udi);
|
||||
static bool getDeviceForcedAutomount(const QString &udi);
|
||||
static QString getDeviceIcon(const QString &udi);
|
||||
static void saveDevice(const Solid::Device &dev);
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
|
||||
<kcfgfile name="kded_device_automounterrc"/>
|
||||
<group name="General">
|
||||
<entry name="AutomountOnLogin" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="AutomountOnPlugin" type="Bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="AutomountUnknownDevices" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="AutomountEnabled" type="Bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
|
@ -1,4 +0,0 @@
|
|||
ClassName=AutomounterSettingsBase
|
||||
File=AutomounterSettingsBase.kcfg
|
||||
Mutators=true
|
||||
Singleton=true
|
|
@ -1,17 +0,0 @@
|
|||
########### next target ###############
|
||||
|
||||
set(kded_solidautoeject_SRCS
|
||||
solidautoeject.cpp
|
||||
)
|
||||
|
||||
kde4_add_plugin(kded_solidautoeject ${kded_solidautoeject_SRCS})
|
||||
|
||||
target_link_libraries(kded_solidautoeject KDE4::solid KDE4::kdecore)
|
||||
|
||||
install(TARGETS kded_solidautoeject DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
|
||||
|
||||
|
||||
########### install files ###############
|
||||
|
||||
install(FILES solidautoeject.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR}/kded)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
$XGETTEXT *.cpp -o $podir/solidautoeject.pot
|
|
@ -1,65 +0,0 @@
|
|||
/* This file is part of the KDE Project
|
||||
Copyright (c) 2009 Kevin Ottens <ervin@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "solidautoeject.h"
|
||||
|
||||
#include <kpluginfactory.h>
|
||||
|
||||
#include <solid/device.h>
|
||||
#include <solid/devicenotifier.h>
|
||||
#include <solid/opticaldrive.h>
|
||||
|
||||
K_PLUGIN_FACTORY(SolidAutoEjectFactory, registerPlugin<SolidAutoEject>();)
|
||||
K_EXPORT_PLUGIN(SolidAutoEjectFactory("solidautoeject"))
|
||||
|
||||
SolidAutoEject::SolidAutoEject(QObject* parent, const QList<QVariant>&)
|
||||
: KDEDModule(parent)
|
||||
{
|
||||
QList<Solid::Device> drives = Solid::Device::listFromQuery("IS OpticalDrive");
|
||||
foreach (const Solid::Device &drive, drives) {
|
||||
connectDevice(drive);
|
||||
}
|
||||
|
||||
connect(Solid::DeviceNotifier::instance(), SIGNAL(deviceAdded(QString)),
|
||||
this, SLOT(onDeviceAdded(QString)));
|
||||
}
|
||||
|
||||
SolidAutoEject::~SolidAutoEject()
|
||||
{
|
||||
}
|
||||
|
||||
void SolidAutoEject::onDeviceAdded(const QString &udi)
|
||||
{
|
||||
connectDevice(Solid::Device(udi));
|
||||
}
|
||||
|
||||
void SolidAutoEject::onEjectPressed(const QString &udi)
|
||||
{
|
||||
Solid::Device dev(udi);
|
||||
dev.as<Solid::OpticalDrive>()->eject();
|
||||
}
|
||||
|
||||
void SolidAutoEject::connectDevice(const Solid::Device &device)
|
||||
{
|
||||
if ( device.as<Solid::OpticalDrive>() ) {
|
||||
connect(device.as<Solid::OpticalDrive>(), SIGNAL(ejectPressed(QString)),
|
||||
this, SLOT(onEjectPressed(QString)));
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_solidautoeject.cpp"
|
|
@ -1,139 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=Service
|
||||
X-KDE-ServiceTypes=KDEDModule
|
||||
X-KDE-Library=solidautoeject
|
||||
X-KDE-DBus-ModuleName=solidautoeject
|
||||
X-KDE-Kded-autoload=true
|
||||
Name=Drive Ejector
|
||||
Name[ar]=مُخرج السوّاقات
|
||||
Name[ast]=Eyector d'unidá
|
||||
Name[bg]=Изваждане на устройства
|
||||
Name[bs]=Izbacivač jedinica
|
||||
Name[ca]=Expulsor d'unitats
|
||||
Name[ca@valencia]=Expulsor d'unitats
|
||||
Name[cs]=Vysunutí mechaniky
|
||||
Name[da]=Udskubning af drev
|
||||
Name[de]=Laufwerksauswurf
|
||||
Name[el]=Οδηγός Εξαγωγέα
|
||||
Name[en_GB]=Drive Ejector
|
||||
Name[eo]=Elĵetilo de diskingoj
|
||||
Name[es]=Eyector de unidad
|
||||
Name[et]=Plaadiväljasti
|
||||
Name[eu]=Unitate-egozlea
|
||||
Name[fa]=باز کن دیسک گردان
|
||||
Name[fi]=Aseman poistaja
|
||||
Name[fr]=Éjecteur de disque
|
||||
Name[ga]=Díchurthóir Tiomántáin
|
||||
Name[gl]=Expulsor de unidades
|
||||
Name[gu]=ડ્રાઇવ બહાર કાઢનાર
|
||||
Name[he]=מוציא הכוננים
|
||||
Name[hi]=ड्राइव इजेक्टर
|
||||
Name[hr]=Izbacivač pogona
|
||||
Name[hu]=Meghajtókiadó
|
||||
Name[ia]=Ejector de Drive
|
||||
Name[id]=Pembuka Penggerak
|
||||
Name[is]=Diskaútspýting
|
||||
Name[it]=Espulsore di unità
|
||||
Name[ja]=ドライブイジェクタ
|
||||
Name[kk]=Тасушысын алып-шығу
|
||||
Name[km]=កម្មវិធីច្រានដ្រាយចេញ
|
||||
Name[kn]=ಡ್ರೈವ್ ಹೊರತಳ್ಳುಕ
|
||||
Name[ko]=꺼내기
|
||||
Name[lt]=Laikmenų išstumiklis
|
||||
Name[lv]=Disku izgrūdējs
|
||||
Name[ml]=ഡ്രൈവ് പുറത്തെടുക്കുവാന്
|
||||
Name[mr]=ड्राइव्ह बाहेर काढा
|
||||
Name[nb]=Drevutløser
|
||||
Name[nds]=Schuuvlaad rutfohren
|
||||
Name[nl]=Uitwerpen uit apparaat
|
||||
Name[nn]=Stasjonsutløysing
|
||||
Name[pa]=ਡਰਾਇਵਰ ਇੰਜੈਂਕਟਰ
|
||||
Name[pl]=Wysuwanie napędów
|
||||
Name[pt]=Ejecção de Unidades
|
||||
Name[pt_BR]=Ejeção de unidades
|
||||
Name[ro]=Ejector unitate
|
||||
Name[ru]=Извлечение дисков
|
||||
Name[si]=ධාවකය ඉවත් කරනය
|
||||
Name[sk]=Vysunutie mechaniky
|
||||
Name[sl]=Izmetalo pogona
|
||||
Name[sr]=Избацивач јединица
|
||||
Name[sr@ijekavian]=Избацивач јединица
|
||||
Name[sr@ijekavianlatin]=Izbacivač jedinica
|
||||
Name[sr@latin]=Izbacivač jedinica
|
||||
Name[sv]=Utmatning av enheter
|
||||
Name[tg]=Ҷудокунандаи дастгоҳ
|
||||
Name[th]=ตัวดันถาดไดรฟ์
|
||||
Name[tr]=Sürücü Çıkarıcı
|
||||
Name[ug]=قوزغاتقۇچ قاڭقىتقۇچ
|
||||
Name[uk]=Вилучення дисків
|
||||
Name[vi]=Trình đẩy ổ đĩa
|
||||
Name[wa]=Rexheu d' plake
|
||||
Name[x-test]=xxDrive Ejectorxx
|
||||
Name[zh_CN]=驱动弹出器
|
||||
Name[zh_TW]=碟片跳出管理
|
||||
Comment=Automatically releases drives when their eject button is pushed
|
||||
Comment[ar]=تحرر السواقات تلقائياً عنج ضغط زر الإخراج الخاص بهن
|
||||
Comment[ast]=Llibera automáticamente les unidaes cuando se calque'l botón d'espulsar
|
||||
Comment[bg]=Автоматично освобождаване на устройствата при натискане на бутона за изваждане
|
||||
Comment[bs]=Automatsko oslobađanje jedinica kada im se prisne dugme za izbacivanje
|
||||
Comment[ca]=Allibera unitats automàticament quan es prem el seu botó d'expulsió
|
||||
Comment[ca@valencia]=Allibera unitats automàticament quan es prem el seu botó d'expulsió
|
||||
Comment[cs]=Umožňuje automaticky uvolnit mechaniku při stisknutí tlačítka vysunutí
|
||||
Comment[da]=Frigiver automatisk drev når der trykkes på deres skub ud-knap
|
||||
Comment[de]=Automatisches Lösen der Laufwerkseinbindung bei Betätigung des Auswurfknopfes
|
||||
Comment[el]=Αυτόματη εξαγωγή μέσων σε οδηγούς όπου πιέστηκε το πλήκτρο εξαγωγής
|
||||
Comment[en_GB]=Automatically releases drives when their eject button is pushed
|
||||
Comment[eo]=Ĝi aŭtomate malfermas diskingojn kiam sia elĵeta butono estas premita
|
||||
Comment[es]=Libera automáticamente las unidades cuando se pulsa el botón de expulsión
|
||||
Comment[et]=Võimaldab plaatidel automaatselt väljuda, kui vajutatakse väljastamisnuppu
|
||||
Comment[eu]=Unitateak automatikoki askatzen ditu haien egozteko botoia sakatzen denean
|
||||
Comment[fi]=Vapauttaa asemat automaattisesti kun niiden poistopainiketta painetaan
|
||||
Comment[fr]=Libère automatiquement les disques lors d'un appui sur leur bouton d'éjection
|
||||
Comment[ga]=Ceadaíonn sé seo tiomántán a scaoileadh nuair a bhrúitear a chnaipe díchurtha
|
||||
Comment[gl]=Permite expulsar automaticamente as unidades cando se lles preme o botón de abrir
|
||||
Comment[gu]=જ્યારે બહાર નીકળવાનું બટન દબાવવામાં આપે ત્યારે ડ્રાઇવોને આપમેળે નીકાળો
|
||||
Comment[he]=מוציא אוטומטית כוננים בלחיצה על לחצן ההוצאה שלהם
|
||||
Comment[hi]=बाहर निकाले पर धक्का देने के दौरान स्वतः ड्राइव रिलीज
|
||||
Comment[hr]=Automatski oslobađa pogone nakon pritiska na njihovu tipku za izbacivanje
|
||||
Comment[hu]=Automatikusan kiadja a meghajtókat a kiadógomb megnyomásakor
|
||||
Comment[ia]=Il lassa fora automaticamente le drives quando lor button de expeller es pressate.
|
||||
Comment[id]=Secara otomatis mengeluarkan penggerak ketika tombol eject ditekan
|
||||
Comment[is]=Aftengir diskadrif sjálfvirkt þegar ýtt er á útspýtingarhnapp þeirra
|
||||
Comment[it]=Rilascia automaticamente le unità quando ne viene premuto il pulsante di espulsione
|
||||
Comment[ja]=イジェクトボタンが押されたときに、自動的にドライブを開放します
|
||||
Comment[kk]=Алып-шығару батырмасын басқанда құрылғыны автоматты түрде босату
|
||||
Comment[km]=ចេញផ្សាយដ្រាយដោយស្វ័យប្រវត្តិ នៅពេលចុចប៊ូតុងច្រានចេញរបស់វា
|
||||
Comment[kn]=ಹೊರತಳ್ಳು ಗುಂಡಿಯನ್ನು ಒತ್ತಿದಾಗ ಡ್ರೈವ್ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಿಡುಗಡೆಗೊಳಿಸಲು ಅನುವು ಮಾಡುತ್ತದೆ
|
||||
Comment[ko]=꺼내기 단추를 눌렀을 때 자동으로 드라이브를 꺼냅니다
|
||||
Comment[lt]=Automatiškai atjungia įrenginius paspaudus išmetimo mygtuką
|
||||
Comment[lv]=Ļauj automātiski izgrūst diskus pēc izgrūšanas pogas nospiešanas
|
||||
Comment[ml]=പുറത്തെടുക്കുവാനുള്ള ബട്ടണ് അമര്ത്തുബോള് ഡ്രൈവുകള് സ്വയം പുറത്തെടുക്കുന്നു
|
||||
Comment[mr]=जेव्हा ड्राइव्हचे इजेक्ट बटन दाबले जाईल तेव्हा स्वयंचलितरित्या ड्राइव्ह सोडतो
|
||||
Comment[nb]=Utløser drev automatisk når utløserknappen trykkes
|
||||
Comment[nds]=Gifft Loopwarken automaatsch free, wenn Een den Rutfohr-Knoop drückt.
|
||||
Comment[nl]=Geeft automatisch apparaten vrij als hun uitwerpknop wordt ingedrukt
|
||||
Comment[nn]=Løyser automatisk ut stasjonar når det vert trykt på utløysingsknappen deira
|
||||
Comment[pa]=ਜਦੋਂ ਬਾਹਰ ਕੱਢੋ ਬਟਨ ਦੱਬਿਆ ਜਾਵੇ ਤਾਂ ਆਟੋਮੈਟਿਕ ਹੀ ਡਰਾਇਵਰ ਛੱਡ ਦਿਓ
|
||||
Comment[pl]=Pozwala na samoczynne wysunięcie napędów po naciśnięciu przycisku
|
||||
Comment[pt]=Liberta automaticamente as unidades quando se carrega no botão de ejecção
|
||||
Comment[pt_BR]=Liberar automaticamente as unidades quando o botão de ejeção for pressionado
|
||||
Comment[ro]=Eliberează automat unitățile la apăsarea butonului de deschidere al acestora
|
||||
Comment[ru]=Выбрасывает сменный носитель из привода при нажатии кнопки извлечения
|
||||
Comment[si]=ධාවක වල ඉවත් කරන් බොත්තම එබූ විගස ඒවා ස්වයංව නිදහස් කරන්න
|
||||
Comment[sk]=Umožňuje automaticky uvoľniť mechaniku pri stlačení tlačidla vysunúť
|
||||
Comment[sl]=Samodejno odklopi pogon, ko se na njem pritisne gumb za izmet
|
||||
Comment[sr]=Аутоматско ослобађање јединица када им се притисне дугме за избацивање
|
||||
Comment[sr@ijekavian]=Аутоматско ослобађање јединица када им се притисне дугме за избацивање
|
||||
Comment[sr@ijekavianlatin]=Automatsko oslobađanje jedinica kada im se pritisne dugme za izbacivanje
|
||||
Comment[sr@latin]=Automatsko oslobađanje jedinica kada im se pritisne dugme za izbacivanje
|
||||
Comment[sv]=Frisläpper automatiskt enheter vid tryck på deras utmatningsknapp
|
||||
Comment[tg]=Дастгоҳҳоро ба худкор ҷудо мекунад вақте, ки шумо тугмаҳои ҷудокунии онро зер мекунед
|
||||
Comment[th]=เปิดถาดไดรฟ์ให้อัตโนมัติเมื่อมีการกดปุ่มเอาแผ่นสื่อออก
|
||||
Comment[tr]=Çıkarma düğmesine basıldığında sürücüleri otomatik olarak ayırır
|
||||
Comment[ug]=قاڭقىت توپچا بېسىلغاندا قوزغاتقۇچ مەنبەسىنى ئۆزلۈكىدىن قويۇپ بېرىدۇ
|
||||
Comment[uk]=Автоматичне вилучення файли пристроїв, після натискання на них кнопки виштовхування
|
||||
Comment[vi]=Tự động đẩy ổ đĩa khi nút mở của chúng được nhấn
|
||||
Comment[wa]=Dislaxhe otomaticmint les plakes cwand leu boton po fé rexhe est tchôkî
|
||||
Comment[x-test]=xxAutomatically releases drives when their eject button is pushedxx
|
||||
Comment[zh_CN]=当按下弹出钮时,可自动释放驱动器资源
|
||||
Comment[zh_TW]=在按下退出鍵時可以自動釋放碟片
|
|
@ -1,46 +0,0 @@
|
|||
/* This file is part of the KDE Project
|
||||
Copyright (c) 2009 Kevin Ottens <ervin@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef SOLIDAUTOEJECT_H
|
||||
#define SOLIDAUTOEJECT_H
|
||||
|
||||
#include <kdedmodule.h>
|
||||
|
||||
namespace Solid
|
||||
{
|
||||
class Device;
|
||||
}
|
||||
|
||||
class SolidAutoEject : public KDEDModule
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SolidAutoEject(QObject* parent, const QList<QVariant>&);
|
||||
virtual ~SolidAutoEject();
|
||||
|
||||
private slots:
|
||||
void onDeviceAdded(const QString &udi);
|
||||
void onEjectPressed(const QString &udi);
|
||||
|
||||
private:
|
||||
void connectDevice(const Solid::Device &device);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
add_subdirectory(actions)
|
||||
|
||||
########### next target ###############
|
||||
|
||||
set(soliduiserver_helper_srcs
|
||||
|
@ -11,11 +13,7 @@ target_link_libraries(soliduiserver_helper PUBLIC KDE4::kdecore)
|
|||
|
||||
set(kded_soliduiserver_SRCS
|
||||
soliduiserver.cpp
|
||||
deviceactionsdialog.cpp
|
||||
deviceaction.cpp
|
||||
devicenothingaction.cpp
|
||||
deviceserviceaction.cpp
|
||||
deviceactionsdialogview.ui
|
||||
soliduidialog.cpp
|
||||
)
|
||||
|
||||
kde4_add_plugin(kded_soliduiserver ${kded_soliduiserver_SRCS})
|
||||
|
|
4
soliduiserver/actions/CMakeLists.txt
Normal file
4
soliduiserver/actions/CMakeLists.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
install(
|
||||
FILES openinwindow.desktop
|
||||
DESTINATION ${KDE4_DATA_INSTALL_DIR}/solid/actions
|
||||
)
|
|
@ -1,53 +0,0 @@
|
|||
/* This file is part of the KDE Project
|
||||
Copyright (c) 2005 Jean-Remy Falleri <jr.falleri@laposte.net>
|
||||
Copyright (c) 2005-2007 Kevin Ottens <ervin@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "deviceaction.h"
|
||||
|
||||
#include <kglobal.h>
|
||||
#include <kiconloader.h>
|
||||
#include <kicontheme.h>
|
||||
#include <kcomponentdata.h>
|
||||
|
||||
DeviceAction::DeviceAction()
|
||||
{
|
||||
}
|
||||
|
||||
DeviceAction::~DeviceAction()
|
||||
{
|
||||
}
|
||||
|
||||
void DeviceAction::setIconName(const QString &iconName)
|
||||
{
|
||||
m_iconName = iconName;
|
||||
}
|
||||
|
||||
void DeviceAction::setLabel(const QString &label)
|
||||
{
|
||||
m_label = label;
|
||||
}
|
||||
|
||||
QString DeviceAction::iconName() const
|
||||
{
|
||||
return m_iconName;
|
||||
}
|
||||
|
||||
QString DeviceAction::label() const
|
||||
{
|
||||
return m_label;
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
/* This file is part of the KDE Project
|
||||
Copyright (c) 2005 Jean-Remy Falleri <jr.falleri@laposte.net>
|
||||
Copyright (c) 2005-2007 Kevin Ottens <ervin@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef DEVICEACTION_H
|
||||
#define DEVICEACTION_H
|
||||
|
||||
#include <solid/device.h>
|
||||
|
||||
class DeviceAction
|
||||
{
|
||||
public:
|
||||
DeviceAction();
|
||||
virtual ~DeviceAction();
|
||||
|
||||
QString label() const;
|
||||
QString iconName() const;
|
||||
|
||||
virtual QString id() const = 0;
|
||||
virtual void execute(Solid::Device &device) = 0;
|
||||
|
||||
protected:
|
||||
void setLabel(const QString &label);
|
||||
void setIconName(const QString &icon);
|
||||
|
||||
private:
|
||||
QString m_label;
|
||||
QString m_iconName;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,134 +0,0 @@
|
|||
/* This file is part of the KDE Project
|
||||
Copyright (c) 2005 Jean-Remy Falleri <jr.falleri@laposte.net>
|
||||
Copyright (c) 2005-2007 Kevin Ottens <ervin@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#include "deviceactionsdialog.h"
|
||||
#include <QLayout>
|
||||
|
||||
#include <krun.h>
|
||||
#include <klocale.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kio/global.h>
|
||||
#include <klistwidget.h>
|
||||
#include <kicon.h>
|
||||
#include <QCheckBox>
|
||||
|
||||
|
||||
#include "deviceaction.h"
|
||||
#include "ui_deviceactionsdialogview.h"
|
||||
|
||||
DeviceActionsDialog::DeviceActionsDialog(QWidget *parent)
|
||||
: KDialog(parent)
|
||||
{
|
||||
setModal(false);
|
||||
setButtons(Ok|Cancel);
|
||||
setDefaultButton(Ok);
|
||||
|
||||
QWidget *page = new QWidget(this);
|
||||
m_view.setupUi(page);
|
||||
setMainWidget(page);
|
||||
updateActionsListBox();
|
||||
|
||||
resize(QSize(400,400).expandedTo(minimumSizeHint()));
|
||||
|
||||
connect(this, SIGNAL(okClicked()),
|
||||
this, SLOT(slotOk()));
|
||||
connect(m_view.actionsList, SIGNAL(doubleClicked(QListWidgetItem *, const QPoint &)),
|
||||
this, SLOT(slotOk()));
|
||||
|
||||
connect(this, SIGNAL(finished()),
|
||||
this, SLOT(delayedDestruct()));
|
||||
}
|
||||
|
||||
DeviceActionsDialog::~DeviceActionsDialog()
|
||||
{
|
||||
}
|
||||
|
||||
void DeviceActionsDialog::setDevice(const Solid::Device &device)
|
||||
{
|
||||
m_device = device;
|
||||
|
||||
QString label = device.vendor();
|
||||
if (!label.isEmpty()) label+=' ';
|
||||
label+= device.product();
|
||||
|
||||
setWindowTitle(label);
|
||||
|
||||
m_view.iconLabel->setPixmap(KIcon(device.icon()).pixmap(64));
|
||||
m_view.descriptionLabel->setText(device.vendor()+' '+device.product());
|
||||
setWindowIcon(KIcon(device.icon()));
|
||||
}
|
||||
|
||||
Solid::Device DeviceActionsDialog::device() const
|
||||
{
|
||||
return m_device;
|
||||
}
|
||||
|
||||
void DeviceActionsDialog::setActions(const QList<DeviceAction*> &actions)
|
||||
{
|
||||
qDeleteAll(m_actions);
|
||||
m_actions.clear();
|
||||
|
||||
m_actions = actions;
|
||||
|
||||
updateActionsListBox();
|
||||
}
|
||||
|
||||
QList<DeviceAction*> DeviceActionsDialog::actions() const
|
||||
{
|
||||
return m_actions;
|
||||
}
|
||||
|
||||
void DeviceActionsDialog::updateActionsListBox()
|
||||
{
|
||||
m_view.actionsList->clear();
|
||||
|
||||
foreach (DeviceAction *action, m_actions) {
|
||||
QListWidgetItem *item = new QListWidgetItem(KIcon(action->iconName()),
|
||||
action->label());
|
||||
item->setData(Qt::UserRole, action->id());
|
||||
m_view.actionsList->addItem(item);
|
||||
}
|
||||
|
||||
if (m_view.actionsList->count()>0)
|
||||
m_view.actionsList->item(0)->setSelected(true);
|
||||
}
|
||||
|
||||
void DeviceActionsDialog::slotOk()
|
||||
{
|
||||
QListWidgetItem *item = m_view.actionsList->selectedItems().value(0);
|
||||
|
||||
if (item != 0L) {
|
||||
QString id = item->data(Qt::UserRole).toString();
|
||||
|
||||
foreach (DeviceAction *action, m_actions) {
|
||||
if (action->id()==id) {
|
||||
launchAction(action);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceActionsDialog::launchAction(DeviceAction *action)
|
||||
{
|
||||
action->execute(m_device);
|
||||
accept();
|
||||
}
|
||||
|
||||
#include "moc_deviceactionsdialog.cpp"
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue