[gparted] Add "other" file system type (!13)



commit 9a66139effd6f69f670ce18bb5d0e9e9a0e1a402
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date:   Fri Sep 7 17:34:01 2018 +0100

    Add "other" file system type (!13)
    
    Want a single term under which the supported actions for all basic
    supported file systems are displayed in the File System Support dialog.
    "Unknown" isn't the correct adjective because the group includes
    unknown, but also includes: BitLocker, GRUB2 core image, ISO9660, Linux
    SWRaid, Linux Suspend, REFS and ZFS.  Add "other" file system type just
    for displaying in the dialog.
    
    Closes !13 - Support copying and moving of unsupported partition content

 include/Utils.h     | 65 +++++++++++++++++++++++++++--------------------------
 src/GParted_Core.cc |  1 +
 src/Utils.cc        |  8 +++++++
 3 files changed, 42 insertions(+), 32 deletions(-)
---
diff --git a/include/Utils.h b/include/Utils.h
index 6c0fc8d2..c748e7c6 100644
--- a/include/Utils.h
+++ b/include/Utils.h
@@ -65,44 +65,45 @@ enum FSType
        FS_UNKNOWN         = 2,  // Unrecognised content in a drive or partition
        FS_UNFORMATTED     = 3,  // Create a partition without a file system
        FS_CLEARED         = 4,  // Clear existing file system signatures
-       FS_EXTENDED        = 5,
+       FS_OTHER           = 5,  // Just for showing in the File System Support dialog
+       FS_EXTENDED        = 6,
 
        // Fully supported file system types
-       FS_BTRFS           = 6,
-       FS_EXFAT           = 7, /* Also known as fat64 */
-       FS_EXT2            = 8,
-       FS_EXT3            = 9,
-       FS_EXT4            = 10,
-       FS_F2FS            = 11,
-       FS_FAT16           = 12,
-       FS_FAT32           = 13,
-       FS_HFS             = 14,
-       FS_HFSPLUS         = 15,
-       FS_JFS             = 16,
-       FS_LINUX_SWAP      = 17,
-       FS_LUKS            = 18,
-       FS_LVM2_PV         = 19,
-       FS_MINIX           = 20,
-       FS_NILFS2          = 21,
-       FS_NTFS            = 22,
-       FS_REISER4         = 23,
-       FS_REISERFS        = 24,
-       FS_UDF             = 25,
-       FS_UFS             = 26,
-       FS_XFS             = 27,
+       FS_BTRFS           = 7,
+       FS_EXFAT           = 8, /* Also known as fat64 */
+       FS_EXT2            = 9,
+       FS_EXT3            = 10,
+       FS_EXT4            = 11,
+       FS_F2FS            = 12,
+       FS_FAT16           = 13,
+       FS_FAT32           = 14,
+       FS_HFS             = 15,
+       FS_HFSPLUS         = 16,
+       FS_JFS             = 17,
+       FS_LINUX_SWAP      = 18,
+       FS_LUKS            = 19,
+       FS_LVM2_PV         = 20,
+       FS_MINIX           = 21,
+       FS_NILFS2          = 22,
+       FS_NTFS            = 23,
+       FS_REISER4         = 24,
+       FS_REISERFS        = 25,
+       FS_UDF             = 26,
+       FS_UFS             = 27,
+       FS_XFS             = 28,
 
        // Other recognised file system types
-       FS_BITLOCKER       = 28,
-       FS_GRUB2_CORE_IMG  = 29,
-       FS_ISO9660         = 30,
-       FS_LINUX_SWRAID    = 31,
-       FS_LINUX_SWSUSPEND = 32,
-       FS_REFS            = 33,
-       FS_ZFS             = 34,
+       FS_BITLOCKER       = 29,
+       FS_GRUB2_CORE_IMG  = 30,
+       FS_ISO9660         = 31,
+       FS_LINUX_SWRAID    = 32,
+       FS_LINUX_SWSUSPEND = 33,
+       FS_REFS            = 34,
+       FS_ZFS             = 35,
 
        // Partition space usage colours
-       FS_USED            = 35,
-       FS_UNUSED          = 36
+       FS_USED            = 36,
+       FS_UNUSED          = 37
 } ;
 
 enum SIZE_UNIT
diff --git a/src/GParted_Core.cc b/src/GParted_Core.cc
index bf5382ae..ed5119e8 100644
--- a/src/GParted_Core.cc
+++ b/src/GParted_Core.cc
@@ -4153,6 +4153,7 @@ void GParted_Core::init_filesystems()
        // 3)  Unsupported file systems have no entry.
        //     supported_filesystem() -> false
        FILESYSTEM_MAP[FS_UNKNOWN]         = NULL;
+       FILESYSTEM_MAP[FS_OTHER]           = NULL;
        FILESYSTEM_MAP[FS_BTRFS]           = new btrfs();
        FILESYSTEM_MAP[FS_EXFAT]           = new exfat();
        FILESYSTEM_MAP[FS_EXT2]            = new ext2( FS_EXT2 );
diff --git a/src/Utils.cc b/src/Utils.cc
index 18a85129..8781ffa2 100644
--- a/src/Utils.cc
+++ b/src/Utils.cc
@@ -93,6 +93,7 @@ Glib::ustring Utils::get_color( FSType filesystem )
                case FS_UNKNOWN:         return "#000000";  // Black
                case FS_UNFORMATTED:     return "#000000";  // Black
                case FS_CLEARED:         return "#000000";  // Black
+               case FS_OTHER:           return "#000000";  // Black (never displayed)
                case FS_EXTENDED:        return "#7DFCFE";  // Light Blue [*]
                case FS_BTRFS:           return "#FF9955";  // Orange [*]
                case FS_EXFAT:           return "#267726";  // Accent Green Dark
@@ -269,6 +270,13 @@ Glib::ustring Utils::get_filesystem_string( FSType filesystem )
                                 * be formatted with a known file system by GParted.
                                 */
                                _("unformatted") ;
+               case FS_OTHER           : return
+                               /* TO TRANSLATORS:  other
+                                * name shown in the File System Support dialog to list
+                                * actions which can be performed on other file systems
+                                * not specifically listed as supported.
+                                */
+                               _("other");
                case FS_CLEARED         : return
                                /* TO TRANSLATORS:  cleared
                                 * means that all file system signatures in the partition


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]