summaryrefslogtreecommitdiffstats
path: root/tdeioslave/media
diff options
context:
space:
mode:
Diffstat (limited to 'tdeioslave/media')
-rw-r--r--tdeioslave/media/mediamanager/tdehardwarebackend.cpp28
-rw-r--r--tdeioslave/media/medianotifier/CMakeLists.txt3
-rw-r--r--tdeioslave/media/medianotifier/medianotifier.cpp26
3 files changed, 25 insertions, 32 deletions
diff --git a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
index 3171d8f3c..369f87c3a 100644
--- a/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
+++ b/tdeioslave/media/mediamanager/tdehardwarebackend.cpp
@@ -969,39 +969,15 @@ TQString TDEBackend::mount(const Medium *medium)
return i18n("Internal error");
}
- TQString optionString;
TQString diskLabel;
TQMap<TQString,TQString> valids = MediaManagerUtils::splitOptions(mountoptions(medium->id()));
- if (valids["ro"] == "true") {
- optionString.append(" -r");
- }
-
- if (valids["atime"] != "true") {
- optionString.append(" -A");
- }
-
- if (valids["utf8"] == "true") {
- optionString.append(" -c utf8");
- }
-
- if (valids["sync"] == "true") {
- optionString.append(" -s");
- }
TQString mount_point = valids["mountpoint"];
if (mount_point.startsWith("/media/")) {
diskLabel = mount_point.mid(7);
}
- if (valids.contains("filesystem")) {
- optionString.append(TQString(" -t %1").arg(valids["filesystem"]));
- }
-
- if (valids.contains("locale")) {
- optionString.append(TQString(" -c %1").arg(valids["locale"]));
- }
-
if (diskLabel == "") {
// Try to use a pretty mount point if possible
TQStringList pieces = TQStringList::split("/", sdevice->deviceNode(), FALSE);
@@ -1015,7 +991,7 @@ TQString TDEBackend::mount(const Medium *medium)
if (!medium->isEncrypted()) {
// normal volume
TQString mountMessages;
- TQString mountedPath = sdevice->mountDevice(diskLabel, optionString, &mountMessages);
+ TQString mountedPath = sdevice->mountDevice(diskLabel, valids, &mountMessages);
if (mountedPath.isNull()) {
qerror = i18n("<qt>Unable to mount this device.<p>Potential reasons include:<br>Improper device and/or user privilege level<br>Corrupt data on storage device");
if (!mountMessages.isNull()) {
@@ -1068,7 +1044,7 @@ TQString TDEBackend::mount(const Medium *medium)
// mount encrypted volume with password
int mountRetcode;
TQString mountMessages;
- TQString mountedPath = sdevice->mountEncryptedDevice(m_decryptionPassword, diskLabel, optionString, &mountMessages, &mountRetcode);
+ TQString mountedPath = sdevice->mountEncryptedDevice(m_decryptionPassword, diskLabel, valids, &mountMessages, &mountRetcode);
if (mountedPath.isNull()) {
if (mountRetcode == 0) {
// Mounting was successful
diff --git a/tdeioslave/media/medianotifier/CMakeLists.txt b/tdeioslave/media/medianotifier/CMakeLists.txt
index 9618f79ab..35d639d1b 100644
--- a/tdeioslave/media/medianotifier/CMakeLists.txt
+++ b/tdeioslave/media/medianotifier/CMakeLists.txt
@@ -13,6 +13,7 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}/tdeioslave/media/libmediacommon
${CMAKE_SOURCE_DIR}/tdeioslave/media/libmediacommon
+ ${CMAKE_SOURCE_DIR}/tdmlib
${TDE_INCLUDE_DIR}
${TQT_INCLUDE_DIRS}
)
@@ -38,6 +39,6 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
- LINK mediacommon-static tdeinit_kded-shared
+ LINK mediacommon-static tdeinit_kded-shared dmctl-static
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/tdeioslave/media/medianotifier/medianotifier.cpp b/tdeioslave/media/medianotifier/medianotifier.cpp
index e500731a2..9b4c0e17e 100644
--- a/tdeioslave/media/medianotifier/medianotifier.cpp
+++ b/tdeioslave/media/medianotifier/medianotifier.cpp
@@ -41,6 +41,8 @@
#include "notifieraction.h"
#include "mediamanagersettings.h"
+#include "dmctl.h"
+
MediaNotifier::MediaNotifier(const TQCString &name) : KDEDModule(name)
{
connectDCOPSignal( "kded", "mediamanager", "mediumAdded(TQString, bool)",
@@ -69,13 +71,14 @@ void MediaNotifier::onMediumChange( const TQString &name, bool allowNotification
kdDebug() << "MediaNotifier::onMediumChange( " << name << ", "
<< allowNotification << ")" << endl;
- if ( !allowNotification )
+ if ( !allowNotification ) {
return;
+ }
-// Update user activity timestamp, otherwise the notification dialog will be shown
-// in the background due to focus stealing prevention. Entering a new media can
-// be seen as a kind of user activity after all. It'd be better to update the timestamp
-// as soon as the media is entered, but it apparently takes some time to get here.
+ // Update user activity timestamp, otherwise the notification dialog will be shown
+ // in the background due to focus stealing prevention. Entering a new media can
+ // be seen as a kind of user activity after all. It'd be better to update the timestamp
+ // as soon as the media is entered, but it apparently takes some time to get here.
kapp->updateUserTimestamp();
KURL url( "system:/media/"+name );
@@ -285,6 +288,19 @@ void MediaNotifier::notify( KFileItem &medium )
{
kdDebug() << "Notification triggered." << endl;
+ DM dm;
+ int currentActiveVT = dm.activeVT();
+ int currentX11VT = TDEApplication::currentX11VT();
+
+ if (currentX11VT < 0) {
+ // Do not notify if user is not local
+ return;
+ }
+ if ((currentActiveVT >= 0) && (currentX11VT != currentActiveVT)) {
+ // Do not notify if VT is not active!
+ return;
+ }
+
NotifierSettings *settings = new NotifierSettings();
if ( settings->autoActionForMimetype( medium.mimetype() )==0L )