summaryrefslogtreecommitdiffstats
path: root/tdeioslave/media/mounthelper
diff options
context:
space:
mode:
Diffstat (limited to 'tdeioslave/media/mounthelper')
-rw-r--r--tdeioslave/media/mounthelper/CMakeLists.txt3
-rw-r--r--tdeioslave/media/mounthelper/dialog.cpp13
-rw-r--r--tdeioslave/media/mounthelper/dialog.h5
-rw-r--r--tdeioslave/media/mounthelper/tdeio_media_mounthelper.cpp398
-rw-r--r--tdeioslave/media/mounthelper/tdeio_media_mounthelper.h28
-rw-r--r--tdeioslave/media/mounthelper/unlockdialog.ui42
6 files changed, 236 insertions, 253 deletions
diff --git a/tdeioslave/media/mounthelper/CMakeLists.txt b/tdeioslave/media/mounthelper/CMakeLists.txt
index 90afad33f..cf7ca553f 100644
--- a/tdeioslave/media/mounthelper/CMakeLists.txt
+++ b/tdeioslave/media/mounthelper/CMakeLists.txt
@@ -12,6 +12,7 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/tdeioslave/media/libmediacommon
+ ${CMAKE_BINARY_DIR}
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
@@ -31,6 +32,6 @@ set( ${target}_SRCS
tde_add_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
- LINK mediacommon-static tdeio-shared
+ LINK mediacommon-static tdeio-shared ${TDEHW_LIBRARIES}
DESTINATION ${BIN_INSTALL_DIR}
)
diff --git a/tdeioslave/media/mounthelper/dialog.cpp b/tdeioslave/media/mounthelper/dialog.cpp
index f2cdb6b53..a257ca6d8 100644
--- a/tdeioslave/media/mounthelper/dialog.cpp
+++ b/tdeioslave/media/mounthelper/dialog.cpp
@@ -23,11 +23,10 @@
#include "dialog.h"
Dialog::Dialog(TQString url, TQString iconName) :
- KDialogBase(NULL, "Dialog", true, "Unlock Storage Device", (Cancel|User1), User1, false, KGuiItem(i18n("Unlock"), "unlocked" ))
+ KDialogBase(NULL, "Dialog", true, i18n("Unlock Storage Device"), (Cancel|User1), User1, false, KGuiItem(i18n("Unlock"), "unlocked" ))
{
unlockDialog = new UnlockDialog(this);
- unlockDialog->errorBox->hide();
unlockDialog->descLabel->setText(unlockDialog->descLabel->text().arg(url));
unlockDialog->descLabel->adjustSize();
unlockDialog->adjustSize();
@@ -37,7 +36,7 @@ Dialog::Dialog(TQString url, TQString iconName) :
TQPixmap pixmap = TDEGlobal::iconLoader()->loadIcon(iconName, TDEIcon::NoGroup, TDEIcon::SizeLarge);
unlockDialog->encryptedIcon->setPixmap( pixmap );
- connect(unlockDialog->passwordEdit, TQT_SIGNAL (textChanged(const TQString &)), this, TQT_SLOT (slotPasswordChanged(const TQString &)));
+ connect(unlockDialog->passwordEdit, TQ_SIGNAL (textChanged(const TQString &)), this, TQ_SLOT (slotPasswordChanged(const TQString &)));
setMainWidget(unlockDialog);
}
@@ -52,14 +51,6 @@ TQString Dialog::getPassword()
return unlockDialog->passwordEdit->text();
}
-void Dialog::slotDialogError(TQString errorMsg)
-{
- kdDebug() << __func__ << "(" << errorMsg << " )" << endl;
-
- unlockDialog->errorLabel->setText(TQString("<b>%1</b>").arg(errorMsg));
- unlockDialog->errorBox->show();
-}
-
void Dialog::slotPasswordChanged(const TQString &text)
{
enableButton( User1, !text.isEmpty() );
diff --git a/tdeioslave/media/mounthelper/dialog.h b/tdeioslave/media/mounthelper/dialog.h
index 8444ec7dd..d2b2925a9 100644
--- a/tdeioslave/media/mounthelper/dialog.h
+++ b/tdeioslave/media/mounthelper/dialog.h
@@ -36,12 +36,10 @@
#include "unlockdialog.h"
-class KryptoMedia;
-
class Dialog : public KDialogBase
{
-Q_OBJECT
+TQ_OBJECT
public:
Dialog(TQString url, TQString iconName);
@@ -50,7 +48,6 @@ public:
TQString getPassword();
public slots:
- void slotDialogError(TQString errorMsg);
void slotPasswordChanged(const TQString &text);
private:
diff --git a/tdeioslave/media/mounthelper/tdeio_media_mounthelper.cpp b/tdeioslave/media/mounthelper/tdeio_media_mounthelper.cpp
index 65b53a0f4..90f3caa3f 100644
--- a/tdeioslave/media/mounthelper/tdeio_media_mounthelper.cpp
+++ b/tdeioslave/media/mounthelper/tdeio_media_mounthelper.cpp
@@ -19,6 +19,10 @@
Boston, MA 02110-1301, USA.
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <tdecmdlineargs.h>
#include <tdelocale.h>
#include <tdeapplication.h>
@@ -33,223 +37,238 @@
#include <kprocess.h>
#include <tdestartupinfo.h>
#include <kmimetype.h>
-#ifdef __TDE_HAVE_TDEHWLIB
+#ifdef WITH_TDEHWLIB
#include <tdehardwaredevices.h>
#endif
#include "dialog.h"
#include "tdeio_media_mounthelper.h"
-const Medium MountHelper::findMedium(const KURL &url)
+const Medium MountHelper::findMedium(const TQString &device)
{
DCOPRef mediamanager("kded", "mediamanager");
-
- // Try filename first
- DCOPReply reply = mediamanager.call( "properties", url.fileName() );
- if ( !reply.isValid() ) {
- m_errorStr = i18n("The TDE mediamanager is not running.")+"\n";
+ DCOPReply reply = mediamanager.call("properties", device);
+ if (!reply.isValid())
+ {
+ m_errorStr = i18n("The TDE mediamanager is not running.\n");
return Medium(TQString::null, TQString::null, TQString::null);
}
- const Medium& medium = Medium::create(reply);
- if ( medium.id().isEmpty() ) {
- // Try full URL now
- reply = mediamanager.call( "properties", url.prettyURL() );
- if ( !reply.isValid() ) {
- m_errorStr = i18n("Internal Error");
- return Medium(TQString::null, TQString::null, TQString::null);
- }
- return Medium::create(reply);
- } else {
- return medium;
- }
+ const Medium &medium = Medium::create(reply);
+ return medium;
}
-MountHelper::MountHelper() : TDEApplication()
+void MountHelper::mount(const Medium &medium)
{
- TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
+ DCOPRef mediamanager("kded", "mediamanager");
+ DCOPReply reply = mediamanager.call("mount", medium.id());
+ TQStringVariantMap mountResult;
+ if (reply.isValid()) {
+ reply.get(mountResult);
+ }
+ if (!mountResult.contains("result") || !mountResult["result"].toBool()) {
+ m_errorStr = mountResult.contains("errStr") ? mountResult["errStr"].toString() : i18n("Unknown mount error.");
+ errorAndExit();
+ }
+}
- m_errorStr = TQString::null;
+void MountHelper::unmount(const Medium &medium)
+{
+ DCOPRef mediamanager("kded", "mediamanager");
+ DCOPReply reply = mediamanager.call("unmount", medium.id());
+ TQStringVariantMap unmountResult;
+ if (reply.isValid()) {
+ reply.get(unmountResult);
+ }
+ if (!unmountResult.contains("result") || !unmountResult["result"].toBool()) {
+ m_errorStr = unmountResult.contains("errStr") ? unmountResult["errStr"].toString() : i18n("Unknown unmount error.");
+ kdDebug() << "medium unmount " << m_errorStr << endl;
+ errorAndExit();
+ }
+}
- KURL url(args->url(0));
- const Medium medium = findMedium(url);
+void MountHelper::unlock(const Medium &medium)
+{
+ TQString device = medium.deviceNode();
+ if (device.isEmpty()) {
+ m_errorStr = i18n("Try to unlock an unknown medium.");
+ errorAndExit();
+ }
- if (medium.id().isEmpty())
+ TQString iconName = medium.iconName();
+ if (iconName.isEmpty())
{
- if (m_errorStr.isEmpty()) {
- m_errorStr+= i18n("%1 cannot be found.").arg(url.prettyURL());
- }
- TQTimer::singleShot(0, this, TQT_SLOT(error()) );
- return;
+ TQString mime = medium.mimeType();
+ iconName = KMimeType::mimeType(mime)->icon(mime, false);
}
+ m_mediumId = medium.id();
+ m_dialog = new Dialog(device, iconName);
+ connect(m_dialog, TQ_SIGNAL(user1Clicked()), this, TQ_SLOT(slotSendPassword()));
+ connect(m_dialog, TQ_SIGNAL(cancelClicked()), this, TQ_SLOT(slotCancel()));
+ m_dialog->show();
+}
- if (!medium.isMountable() && !args->isSet("e") && !args->isSet("s"))
+void MountHelper::lock(const Medium &medium)
+{
+ DCOPRef mediamanager("kded", "mediamanager");
+ DCOPReply reply = mediamanager.call("lock", medium.id(), true);
+ TQStringVariantMap lockResult;
+ if (reply.isValid()) {
+ reply.get(lockResult);
+ }
+ if (!lockResult.contains("result") || !lockResult["result"].toBool()) {
+ m_errorStr = lockResult.contains("errStr") ? lockResult["errStr"].toString() : i18n("Unknown lock error.");
+ kdDebug() << "medium lock " << m_errorStr << endl;
+ errorAndExit();
+ }
+}
+
+void MountHelper::eject(const Medium &medium)
+{
+#ifdef WITH_TDEHWLIB
+ DCOPRef mediamanager("kded", "mediamanager");
+ DCOPReply reply = mediamanager.call("eject", medium.id());
+ TQStringVariantMap ejectResult;
+ if (reply.isValid()) {
+ reply.get(ejectResult);
+ }
+ if (!ejectResult.contains("result") || !ejectResult["result"].toBool()) {
+ m_errorStr = ejectResult.contains("errStr") ? ejectResult["errStr"].toString() : i18n("Unknown eject error.");
+ kdDebug() << "medium eject " << m_errorStr << endl;
+ errorAndExit();
+ }
+ else
{
- m_errorStr = i18n("%1 is not a mountable media.").arg(url.prettyURL());
- TQTimer::singleShot(0, this, TQT_SLOT(error()) );
- return;
+ ::exit(0); // Success!
}
+#endif
- TQString device = medium.deviceNode();
- TQString mount_point = medium.mountPoint();
+ // Otherwise fall back to tdeeject
+ TDEProcess *proc = new TDEProcess(this);
+ *proc << "tdeeject";
+ *proc << medium.deviceNode();
+ connect(proc, TQ_SIGNAL(processExited(TDEProcess*)), this, TQ_SLOT(ejectFinished(TDEProcess*)));
+ proc->start();
+}
+
+void MountHelper::safeRemoval(const Medium &medium)
+{
+ DCOPRef mediamanager("kded", "mediamanager");
+ DCOPReply reply = mediamanager.call("safeRemove", medium.id());
+ TQStringVariantMap safeRemoveResult;
+ if (reply.isValid()) {
+ reply.get(safeRemoveResult);
+ }
+ if (!safeRemoveResult.contains("result") || !safeRemoveResult["result"].toBool()) {
+ m_errorStr = safeRemoveResult.contains("errStr") ? safeRemoveResult["errStr"].toString() : i18n("Unknown safe removal error.");
+ kdDebug() << "medium safeRemoval " << m_errorStr << endl;
+ errorAndExit();
+ }
+}
- m_isCdrom = medium.mimeType().find("dvd") != -1 || medium.mimeType().find("cd") != -1;
+void MountHelper::openRealFolder(const Medium &medium)
+{
+ Medium &m = const_cast<Medium&>(medium);
+ if (!m.isMounted())
+ {
+ // If the medium is not mounted, try mounting it first
+ mount(m);
+ m = findMedium(m.deviceNode());
+ }
- if (args->isSet("d"))
+ if (m.isMounted())
{
- if (!medium.isEncrypted())
- {
- m_errorStr = i18n("%1 is not an encrypted media.").arg(url.prettyURL());
- TQTimer::singleShot(0, this, TQT_SLOT(error()) );
- return;
- }
- if (!medium.needDecryption())
- {
- m_errorStr = i18n("%1 is already unlocked.").arg(url.prettyURL());
- TQTimer::singleShot(0, this, TQT_SLOT(error()));
- return;
- }
+ system((TQString("kfmclient exec 'file://") + m.mountPoint()).local8Bit() + "'");
+ }
+ else
+ {
+ m_errorStr = i18n("Try to open an unknown medium.");
+ errorAndExit();
+ }
+}
- TQString iconName = medium.iconName();
- if (iconName.isEmpty())
- {
- TQString mime = medium.mimeType();
- iconName = KMimeType::mimeType(mime)->icon(mime, false);
+MountHelper::MountHelper() : TDEApplication()
+{
+ TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
+ m_errorStr = TQString::null;
+
+ const Medium medium = findMedium(args->arg(0));
+ if (medium.id().isEmpty())
+ {
+ if (m_errorStr.isEmpty()) {
+ m_errorStr+= i18n("%1 cannot be found.").arg(args->arg(0));
}
+ errorAndExit();
+ }
- m_mediumId = medium.id();
- dialog = new Dialog(url.prettyURL(), iconName);
- dialog->show();
+ TQString device = medium.deviceNode();
+ if (!medium.isMountable() && !medium.isEncrypted() && !args->isSet("e") && !args->isSet("s"))
+ {
+ m_errorStr = i18n("%1 is not a mountable or encrypted media.").arg(device);
+ errorAndExit();
+ }
- connect(dialog, TQT_SIGNAL (user1Clicked()), this, TQT_SLOT (slotSendPassword()));
- connect(dialog, TQT_SIGNAL (cancelClicked()), this, TQT_SLOT (slotCancel()));
- connect(this, TQT_SIGNAL (signalPasswordError(TQString)), dialog, TQT_SLOT (slotDialogError(TQString)));
+ if (args->isSet("m"))
+ {
+ mount(medium);
+ ::exit(0);
}
else if (args->isSet("u"))
{
- DCOPRef mediamanager("kded", "mediamanager");
- DCOPReply reply = mediamanager.call("unmount", medium.id());
- TQStringVariantMap unmountResult;
- if (reply.isValid()) {
- reply.get(unmountResult);
- }
- if (unmountResult.contains("result") && unmountResult["result"].toBool()) {
- ::exit(0);
- }
- else {
- m_errorStr = unmountResult.contains("errStr") ? unmountResult["errStr"].toString() : i18n("Unknown unmount error.");
- kdDebug() << "medium unmount " << m_errorStr << endl;
- error();
- }
- }
- else if (args->isSet("s") || args->isSet("e"))
+ unmount(medium);
+ ::exit(0);
+ }
+ else if (args->isSet("k"))
{
- DCOPRef mediamanager("kded", "mediamanager");
-
- /*
- * We want to call mediamanager unmount before invoking eject. That's
- * because unmount would provide an informative error message in case of
- * failure. However, there are cases when unmount would fail
- * (supermount, slackware, see bug#116209) but eject would succeed.
- * Thus if unmount fails, save unmount error message and invokeEject()
- * anyway. Only if both unmount and eject fail, notify the user by
- * displaying the saved error message (see ejectFinished()).
- */
- TQStringVariantMap unmountResult;
- if (medium.isMounted())
- {
- DCOPReply reply = mediamanager.call( "unmount", medium.id());
- if (reply.isValid()) {
- reply.get(unmountResult);
- if (unmountResult["result"].toBool()) {
- reply.get(m_errorStr);
- }
- }
- }
-
- // If this is an unlocked encrypted volume and there is no error yet, we try to lock it
- if (unmountResult.contains("result") && unmountResult["result"].toBool() &&
- medium.isEncrypted() && !medium.clearDeviceUdi().isNull())
- {
- DCOPReply reply = mediamanager.call( "undecrypt", medium.id());
- if (reply.isValid()) {
- TQStringVariantMap undecryptResult;
- reply.get(undecryptResult);
- if (undecryptResult["result"].toBool()) {
- reply.get(m_errorStr);
- }
- }
- }
-
- if (m_errorStr.isNull()) {
- invokeEject(device, true);
- }
- else {
- error();
- }
+ unlock(medium);
+ // No call to ::exit() here because this will open up the password dialog
+ // ::exit() is handled in the invoked code.
+ }
+ else if (args->isSet("l"))
+ {
+ lock(medium);
+ ::exit(0);
+ }
+ else if (args->isSet("e"))
+ {
+ eject(medium);
+ ::exit(0);
+ }
+ else if (args->isSet("s"))
+ {
+ safeRemoval(medium);
+ ::exit(0);
+ }
+ else if (args->isSet("f"))
+ {
+ openRealFolder(medium);
+ ::exit(0);
}
else
{
- DCOPRef mediamanager("kded", "mediamanager");
- DCOPReply reply = mediamanager.call("mount", medium.id());
- TQStringVariantMap mountResult;
- if (reply.isValid()) {
- reply.get(mountResult);
- }
- if (mountResult.contains("result") && mountResult["result"].toBool()) {
- ::exit(0);
- }
- else {
- m_errorStr = mountResult.contains("errStr") ? mountResult["errStr"].toString() : i18n("Unknown mount error.");
- error();
- }
+ TDECmdLineArgs::usage();
+ ::exit(0);
}
}
-void MountHelper::invokeEject(const TQString &device, bool quiet)
+MountHelper::~MountHelper()
{
-#ifdef __TDE_HAVE_TDEHWLIB
- // Try TDE HW library eject first...
- TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices();
- TDEGenericDevice *hwdevice = hwdevices->findByDeviceNode(device);
- if (hwdevice->type() == TDEGenericDeviceType::Disk) {
- TDEStorageDevice* sdevice = static_cast<TDEStorageDevice*>(hwdevice);
- if (sdevice->ejectDrive()) {
- // Success!
- ::exit(0);
- }
- }
-#endif
-
- // Then fall back to tdeeject if needed
- TDEProcess *proc = new TDEProcess(TQT_TQOBJECT(this));
- *proc << "tdeeject";
- if (quiet)
+ if (m_dialog)
{
- *proc << "-q";
+ delete m_dialog;
}
- *proc << device;
- connect( proc, TQT_SIGNAL(processExited(TDEProcess *)),
- this, TQT_SLOT( ejectFinished(TDEProcess *) ) );
- proc->start();
}
-void MountHelper::ejectFinished(TDEProcess* proc)
+void MountHelper::ejectFinished(TDEProcess *proc)
{
- /*
- * If eject failed, report the error stored in m_errorStr
- */
+ //If eject failed, report the error stored in m_errorStr
if (proc->normalExit() && proc->exitStatus() == 0) {
::exit(0);
- } else {
- if (m_errorStr.isEmpty()) {
- if (m_isCdrom)
- m_errorStr = i18n("The device was successfully unmounted, but the tray could not be opened");
- else
- m_errorStr = i18n("The device was successfully unmounted, but could not be ejected");
+ }
+ else {
+ if (!m_errorStr.isEmpty()) {
+ errorAndExit();
}
-//X Comment this because the error is useless as long as the unmount is successful.
-//X TQTimer::singleShot(0, this, TQT_SLOT(error()));
- ::exit(0);
+ ::exit(0);
}
}
@@ -262,25 +281,28 @@ void MountHelper::error()
}
}
KMessageBox::error(0, prettyErrorString);
+}
+
+void MountHelper::errorAndExit()
+{
+ error();
::exit(1);
}
void MountHelper::slotSendPassword()
{
DCOPRef mediamanager("kded", "mediamanager");
-
- DCOPReply reply = mediamanager.call( "decrypt", m_mediumId, dialog->getPassword() );
- TQStringVariantMap decryptResult;
+ DCOPReply reply = mediamanager.call("unlock", m_mediumId, m_dialog->getPassword());
+ TQStringVariantMap unlockResult;
if (reply.isValid()) {
- reply.get(decryptResult);
+ reply.get(unlockResult);
}
- if (decryptResult.contains("result") && decryptResult["result"].toBool()) {
+ if (unlockResult.contains("result") && unlockResult["result"].toBool()) {
::exit(0);
}
else {
- m_errorStr = decryptResult.contains("errStr") ? decryptResult["errStr"].toString() : i18n("Unknown decrypt error.");
- kdDebug() << "medium decrypt " << m_errorStr << endl;
- emit signalPasswordError(m_errorStr);
+ m_errorStr = unlockResult.contains("errStr") ? unlockResult["errStr"].toString() : i18n("Unknown unlock error.");
+ kdDebug() << "medium unlock " << m_errorStr << endl;
error();
}
}
@@ -292,12 +314,14 @@ void MountHelper::slotCancel()
static TDECmdLineOptions options[] =
{
- { "d", I18N_NOOP("Decrypt given URL"), 0 },
+ { "m", I18N_NOOP("Mount given URL"), 0 },
{ "u", I18N_NOOP("Unmount given URL"), 0 },
- { "m", I18N_NOOP("Mount given URL (default)"), 0 },
- { "e", I18N_NOOP("Eject given URL via tdeeject"), 0},
- { "s", I18N_NOOP("Unmount and Eject given URL (necessary for some USB devices)"), 0},
- {"!+URL", I18N_NOOP("media:/ URL to mount/unmount/eject/remove"), 0 },
+ { "k", I18N_NOOP("Unlock given URL"), 0 },
+ { "l", I18N_NOOP("Lock given URL"), 0 },
+ { "e", I18N_NOOP("Eject given URL"), 0},
+ { "s", I18N_NOOP("Safely remove (unmount and eject) given URL"), 0},
+ { "f", I18N_NOOP("Open real medium folder"), 0},
+ {"!+URL", I18N_NOOP("media:/URL to mount/unmount/unlock/lock/eject/remove"), 0 },
TDECmdLineLastOption
};
@@ -308,13 +332,15 @@ int main(int argc, char **argv)
"tdeio_media_mounthelper", "tdeio_media_mounthelper",
"0.1");
- TDECmdLineArgs::addCmdLineOptions( options );
+ TDECmdLineArgs::addCmdLineOptions(options);
TDEGlobal::locale()->setMainCatalogue("tdeio_media");
TDEApplication::addCmdLineOptions();
+ if (TDECmdLineArgs::parsedArgs()->count()==0)
+ {
+ TDECmdLineArgs::usage();
+ }
- if (TDECmdLineArgs::parsedArgs()->count()==0) TDECmdLineArgs::usage();
- TDEApplication *app = new MountHelper();
-
+ TDEApplication *app = new MountHelper();
TDEStartupInfo::appStarted();
app->dcopClient()->attach();
return app->exec();
diff --git a/tdeioslave/media/mounthelper/tdeio_media_mounthelper.h b/tdeioslave/media/mounthelper/tdeio_media_mounthelper.h
index 97df6b7e8..3cdf58488 100644
--- a/tdeioslave/media/mounthelper/tdeio_media_mounthelper.h
+++ b/tdeioslave/media/mounthelper/tdeio_media_mounthelper.h
@@ -1,5 +1,5 @@
/* This file is part of the KDE project
- Copyright (c) 2004 Kévin Ottens <ervin ipsquad net>
+ Copyright (c) 2004 Kévin Ottens <ervin ipsquad net>
Parts of this file are
Copyright 2003 Waldo Bastian <bastian@kde.org>
@@ -29,29 +29,37 @@
#include "medium.h"
class Dialog;
+class TDEProcess;
class MountHelper : public TDEApplication
{
- Q_OBJECT
+ TQ_OBJECT
+
public:
MountHelper();
+ ~MountHelper();
private:
- const Medium findMedium(const KURL &url);
- void invokeEject(const TQString &device, bool quiet=false);
TQString m_errorStr;
- bool m_isCdrom;
TQString m_mediumId;
- Dialog *dialog;
+ Dialog *m_dialog;
+
+ const Medium findMedium(const TQString &device);
+ void error();
+
+ void mount(const Medium &medium);
+ void unmount(const Medium &medium);
+ void unlock(const Medium &medium);
+ void lock(const Medium &medium);
+ void eject(const Medium &medium);
+ void safeRemoval(const Medium &medium);
+ void openRealFolder(const Medium &medium);
private slots:
void slotSendPassword();
void slotCancel();
void ejectFinished(TDEProcess* proc);
- void error();
-
-signals:
- void signalPasswordError(TQString errorMsg);
+ void errorAndExit();
};
#endif
diff --git a/tdeioslave/media/mounthelper/unlockdialog.ui b/tdeioslave/media/mounthelper/unlockdialog.ui
index 99a46a9ac..7b78cdb42 100644
--- a/tdeioslave/media/mounthelper/unlockdialog.ui
+++ b/tdeioslave/media/mounthelper/unlockdialog.ui
@@ -107,7 +107,7 @@
</property>
<property name="text">
<string>&lt;p&gt;&lt;b&gt;%1&lt;/b&gt; is an encrypted storage device.&lt;/p&gt;
-&lt;p&gt;Please enter the password to decrypt the storage device.&lt;/p&gt;</string>
+&lt;p&gt;Please enter the password to unlock the storage device.&lt;/p&gt;</string>
</property>
<property name="alignment">
<set>WordBreak|AlignTop</set>
@@ -155,46 +155,6 @@
</widget>
</hbox>
</widget>
- <widget class="TQGroupBox" row="2" column="0">
- <property name="name">
- <cstring>errorBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>3</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="title">
- <string>Error</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel" row="0" column="0">
- <property name="name">
- <cstring>errorLabel</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>3</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="alignment">
- <set>WordBreak|AlignTop</set>
- </property>
- </widget>
- </grid>
- </widget>
</grid>
</widget>
<layoutdefaults spacing="6" margin="11"/>