summaryrefslogtreecommitdiffstats
path: root/kioslave/media/propsdlgplugin
diff options
context:
space:
mode:
authorDarrell Anderson <[email protected]>2012-05-08 16:56:25 -0500
committerDarrell Anderson <[email protected]>2012-05-08 16:56:25 -0500
commitc4050cef6c09c1aaf37aec25784f6120ab5f4470 (patch)
tree475cc9034d9fe73a807f0a35255364e662a62f49 /kioslave/media/propsdlgplugin
parent8ecd10805a655acc958f241942b00826f71454cc (diff)
downloadtdebase-c4050cef6c09c1aaf37aec25784f6120ab5f4470.tar.gz
tdebase-c4050cef6c09c1aaf37aec25784f6120ab5f4470.zip
Add KControl (Peripherals/Storage Media/Advanced) controls to set
default mount options. Thanks to Francois Andriot. This partially resolves bug report 986.
Diffstat (limited to 'kioslave/media/propsdlgplugin')
-rw-r--r--kioslave/media/propsdlgplugin/propertiespage.cpp14
-rw-r--r--kioslave/media/propsdlgplugin/propertiespagegui.ui490
2 files changed, 257 insertions, 247 deletions
diff --git a/kioslave/media/propsdlgplugin/propertiespage.cpp b/kioslave/media/propsdlgplugin/propertiespage.cpp
index 14ac2b33f..33d481ef5 100644
--- a/kioslave/media/propsdlgplugin/propertiespage.cpp
+++ b/kioslave/media/propsdlgplugin/propertiespage.cpp
@@ -140,12 +140,23 @@ PropertiesPage::PropertiesPage(TQWidget* parent, const TQString &_id)
option_automount->setChecked(options["automount"] == "true");
connect( option_automount, TQT_SIGNAL( stateChanged(int) ), TQT_SIGNAL( changed() ) );
+ bool has_groupbox_specific = true;
if (!options.contains("journaling") &&
!options.contains("shortname") &&
!options.contains("uid") &&
!options.contains("utf8") &&
- !options.contains("flush"))
+ !options.contains("flush")) {
groupbox_specific->hide();
+ has_groupbox_specific = false;
+ }
+
+ // The order is important - we want groupboxes to hide automatically depending on use_defaults
+ // but don't want to emit changed() until user actually changes something.
+ connect( option_defaults, TQT_SIGNAL( toggled(bool) ), groupbox_generic, SLOT( setHidden(bool) ) );
+ if (has_groupbox_specific)
+ connect( option_defaults, TQT_SIGNAL( toggled(bool) ), groupbox_specific, SLOT( setHidden(bool) ) );
+ option_defaults->setChecked(options["use_defaults"] == "true");
+ connect( option_defaults, TQT_SIGNAL( stateChanged(int) ), TQT_SIGNAL( changed() ) );
} else {
@@ -198,6 +209,7 @@ bool PropertiesPage::save()
}
result << TQString("mountpoint=%1").arg(mp);
result << TQString("automount=%1").arg(option_automount->isChecked() ? "true" : "false");
+ result << TQString("use_defaults=%1").arg(option_defaults->isChecked() ? "true" : "false");
kdDebug() << result << endl;
diff --git a/kioslave/media/propsdlgplugin/propertiespagegui.ui b/kioslave/media/propsdlgplugin/propertiespagegui.ui
index 51ead3a25..2a6ff899e 100644
--- a/kioslave/media/propsdlgplugin/propertiespagegui.ui
+++ b/kioslave/media/propsdlgplugin/propertiespagegui.ui
@@ -8,207 +8,207 @@
<rect>
<x>0</x>
<y>0</y>
- <width>527</width>
- <height>476</height>
+ <width>219</width>
+ <height>446</height>
</rect>
</property>
- <hbox>
+ <property name="caption">
+ <string>PropertiesPageGUI</string>
+ </property>
+ <vbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="TQLayoutWidget">
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_defaults</cstring>
+ </property>
+ <property name="text">
+ <string>Use default mount options</string>
+ </property>
+ </widget>
+ <widget class="TQGroupBox">
<property name="name">
- <cstring>layout17</cstring>
+ <cstring>groupbox_generic</cstring>
+ </property>
+ <property name="title">
+ <string>Generic Mount Options</string>
</property>
<vbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
- <widget class="TQGroupBox">
+ <widget class="TQLayoutWidget">
<property name="name">
- <cstring>groupbox_generic</cstring>
- </property>
- <property name="title">
- <string>Generic Mount Options</string>
+ <cstring>layout15</cstring>
</property>
<vbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_ro</cstring>
+ </property>
+ <property name="text">
+ <string>Read only</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Mount the file system read-only.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_quiet</cstring>
+ </property>
+ <property name="text">
+ <string>Quiet</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Attempts to chown or chmod files do not return errors, although they fail. Use with caution!</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_sync</cstring>
+ </property>
+ <property name="text">
+ <string>Synchronous</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>All I/O to the file system should be done synchronously.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_atime</cstring>
+ </property>
+ <property name="text">
+ <string>Access time updates</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Update inode access time for each access.</string>
+ </property>
+ </widget>
<widget class="TQLayoutWidget">
<property name="name">
- <cstring>layout15</cstring>
+ <cstring>layout14</cstring>
</property>
- <vbox>
+ <hbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_ro</cstring>
- </property>
- <property name="text">
- <string>Read only</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Mount the file system read-only.</string>
- </property>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_quiet</cstring>
- </property>
- <property name="text">
- <string>Quiet</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Attempts to chown or chmod files do not return errors, although they fail. Use with caution!</string>
- </property>
- </widget>
- <widget class="TQCheckBox">
+ <widget class="TQLabel">
<property name="name">
- <cstring>option_sync</cstring>
+ <cstring>textLabel3</cstring>
</property>
<property name="text">
- <string>Synchronous</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>All I/O to the file system should be done synchronously.</string>
+ <string>Mountpoint:</string>
</property>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_atime</cstring>
- </property>
- <property name="text">
- <string>Access time updates</string>
+ <property name="buddy" stdset="0">
+ <cstring>option_mountpoint</cstring>
</property>
<property name="whatsThis" stdset="0">
- <string>Update inode access time for each access.</string>
+ <string>Under what directory this file system shall be mounted. Please note that there is no guarantee that the system will respect your wish. For one the directory has to be below /media - and it does not yet have to exist.</string>
</property>
</widget>
- <widget class="TQLayoutWidget">
+ <widget class="TQLineEdit">
<property name="name">
- <cstring>layout14</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel">
- <property name="name">
- <cstring>textLabel3</cstring>
- </property>
- <property name="text">
- <string>Mountpoint:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>option_mountpoint</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Under what directory this file system shall be mounted. Please note that there is no guarantee that the system will respect your wish. For one the directory has to be below /media - and it does not yet have to exist.</string>
- </property>
- </widget>
- <widget class="TQLineEdit">
- <property name="name">
- <cstring>option_mountpoint</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_automount</cstring>
+ <cstring>option_mountpoint</cstring>
</property>
<property name="text">
- <string>Mount automatically</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Mount this file system automatically.</string>
+ <string></string>
</property>
</widget>
- </vbox>
+ </hbox>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_automount</cstring>
+ </property>
+ <property name="text">
+ <string>Mount automatically</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Mount this file system automatically.</string>
+ </property>
</widget>
</vbox>
</widget>
- <widget class="TQGroupBox">
+ </vbox>
+ </widget>
+ <widget class="TQGroupBox">
+ <property name="name">
+ <cstring>groupbox_specific</cstring>
+ </property>
+ <property name="title">
+ <string>Filesystem Specific Mount Options</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLayoutWidget">
<property name="name">
- <cstring>groupbox_specific</cstring>
- </property>
- <property name="title">
- <string>Filesystem Specific Mount Options</string>
+ <cstring>layout11</cstring>
</property>
<vbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_flush</cstring>
+ </property>
+ <property name="text">
+ <string>Flushed IO</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Always flush all data to the hot plug devices immediately and don't cache it.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_utf8</cstring>
+ </property>
+ <property name="text">
+ <string>UTF-8 charset</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the console. It can be be enabled for the filesystem with this option.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox">
+ <property name="name">
+ <cstring>option_uid</cstring>
+ </property>
+ <property name="text">
+ <string>Mount as user</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Mount this file system as user.</string>
+ </property>
+ </widget>
<widget class="TQLayoutWidget">
<property name="name">
- <cstring>layout11</cstring>
+ <cstring>layout7</cstring>
</property>
- <vbox>
+ <hbox>
<property name="name">
<cstring>unnamed</cstring>
</property>
- <widget class="TQCheckBox">
+ <widget class="TQLabel">
<property name="name">
- <cstring>option_flush</cstring>
+ <cstring>text_journaling</cstring>
</property>
<property name="text">
- <string>Flushed IO</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Always flush all data to the hot plug devices immediately and don't cache it.</string>
- </property>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_utf8</cstring>
- </property>
- <property name="text">
- <string>UTF-8 charset</string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the console. It can be be enabled for the filesystem with this option.</string>
- </property>
- </widget>
- <widget class="TQCheckBox">
- <property name="name">
- <cstring>option_uid</cstring>
+ <string>Journaling:</string>
</property>
- <property name="text">
- <string>Mount as user</string>
+ <property name="buddy" stdset="0">
+ <cstring>option_journaling</cstring>
</property>
<property name="whatsThis" stdset="0">
- <string>Mount this file system as user.</string>
- </property>
- </widget>
- <widget class="TQLayoutWidget">
- <property name="name">
- <cstring>layout7</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel">
- <property name="name">
- <cstring>text_journaling</cstring>
- </property>
- <property name="text">
- <string>Journaling:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>option_journaling</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
+ <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
&lt;h3&gt;&lt;b&gt;All Data&lt;/b&gt;&lt;/h3&gt;
All data is committed into the journal prior to being written into the main file system. This is the slowest variant with the highest data security.
@@ -218,29 +218,29 @@
&lt;h3&gt;&lt;b&gt;Write Back&lt;/b&gt;&lt;/h3&gt;
Data ordering is not preserved - data may be written into the main file system after its metadata has been committed to the journal. This is rumoured to be the highest-throughput option. It guarantees internal file system integrity, however it can allow old data to appear in files after a crash and journal recovery.</string>
- </property>
- </widget>
- <widget class="TQComboBox">
- <item>
- <property name="text">
- <string>All Data</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Ordered</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Write Back</string>
- </property>
- </item>
- <property name="name">
- <cstring>option_journaling</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
+ </property>
+ </widget>
+ <widget class="TQComboBox">
+ <item>
+ <property name="text">
+ <string>All Data</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Ordered</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Write Back</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>option_journaling</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
&lt;h3&gt;&lt;b&gt;All Data&lt;/b&gt;&lt;/h3&gt;
All data is committed into the journal prior to being written into the main file system. This is the slowest variant with the highest data security.
@@ -250,30 +250,30 @@
&lt;h3&gt;&lt;b&gt;Write Back&lt;/b&gt;&lt;/h3&gt;
Data ordering is not preserved - data may be written into the main file system after its metadata has been committed to the journal. This is rumoured to be the highest-throughput option. It guarantees internal file system integrity, however it can allow old data to appear in files after a crash and journal recovery.</string>
- </property>
- </widget>
- </hbox>
+ </property>
</widget>
- <widget class="TQLayoutWidget">
+ </hbox>
+ </widget>
+ <widget class="TQLayoutWidget">
+ <property name="name">
+ <cstring>layout14</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLabel">
<property name="name">
- <cstring>layout14</cstring>
+ <cstring>text_shortname</cstring>
</property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel">
- <property name="name">
- <cstring>text_shortname</cstring>
- </property>
- <property name="text">
- <string>Short names:</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>option_shortname</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
+ <property name="text">
+ <string>Short names:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>option_shortname</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
&lt;h3&gt;&lt;b&gt;Lower&lt;/b&gt;&lt;/h3&gt;
Force the short name to lower case upon display; store a long name when the short name is not all upper case.
@@ -286,34 +286,34 @@ Display the shortname as is; store a long name when the short name is not all lo
&lt;h3&gt;&lt;b&gt;Mixed&lt;/b&gt;&lt;/h3&gt;
Display the short name as is; store a long name when the short name is not all upper case.</string>
- </property>
- </widget>
- <widget class="TQComboBox">
- <item>
- <property name="text">
- <string>Lower</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Windows 95</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Windows NT</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Mixed</string>
- </property>
- </item>
- <property name="name">
- <cstring>option_shortname</cstring>
- </property>
- <property name="whatsThis" stdset="0">
- <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
+ </property>
+ </widget>
+ <widget class="TQComboBox">
+ <item>
+ <property name="text">
+ <string>Lower</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Windows 95</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Windows NT</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Mixed</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>option_shortname</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
&lt;h3&gt;&lt;b&gt;Lower&lt;/b&gt;&lt;/h3&gt;
Force the short name to lower case upon display; store a long name when the short name is not all upper case.
@@ -326,42 +326,40 @@ Display the shortname as is; store a long name when the short name is not all lo
&lt;h3&gt;&lt;b&gt;Mixed&lt;/b&gt;&lt;/h3&gt;
Display the short name as is; store a long name when the short name is not all upper case.</string>
- </property>
- </widget>
- </hbox>
+ </property>
</widget>
- </vbox>
+ </hbox>
</widget>
</vbox>
</widget>
- <widget class="TQLabel">
- <property name="name">
- <cstring>label_filesystem</cstring>
- </property>
- <property name="text">
- <string>Filesystem: iso9660</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
</vbox>
</widget>
- </hbox>
+ <widget class="TQLabel">
+ <property name="name">
+ <cstring>label_filesystem</cstring>
+ </property>
+ <property name="text">
+ <string>Filesystem: iso9660</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
</widget>
<connections>
<connection>