Commit Graph

3594 Commits

Author SHA1 Message Date
Rafael Fontenelle 0b38402a07 Update Brazilian Portuguese translation 2019-05-22 14:58:08 +00:00
Sveinn í Felli 6267a57cf1 Update Icelandic translation 2019-05-22 12:32:41 +00:00
Luca Bacci 12f08d38b8 Set the xalign property for Gtk::Labels (!40)
With the same case as from the previous commit, the very long "Mounted
on ..." text is now wrapped, but the text may not be left justified.
Slowly adjust the dialog width and see how the text wrapping is updated
to fit the size adjustment but the text is centred rather than left
justified.

This is because setting the halign property to Gtk::ALIGN_START does not
guarantee left alignment of text for wrapped or ellipsized Gtk::Labels.

Use the xalign property instead.

To set the xalign property there is a method in the GtkMisc (Gtk::Misc)
base class:

  gtk_misc_set_alignment (Gtk::Misc::set_alignment)

However, GtkMisc (Gtk::Misc) was deprecated in Gtk 3.14 (Gtkmm 3.14)
and in Gtk 3.16 (gtkmm 3.16) set_alignment() was replaced with the
introduction of two new methods:

  gtk_label_set_xalign (Gtk::Label::set_xalign)
  gtk_label_set_yalign (Gtk::Label::set_yalign)

Add a check for Gtkmm method Gtk::Label::set_xalign() in configure.ac
and use it when available.

References:

[1] Gtk3 Reference Documentation - gtk_misc_set_alignment()
    https://developer.gnome.org/gtk3/stable/GtkMisc.html#gtk-misc-set-alignment
    "gtk_misc_set_alignment has been deprecated since version 3.14 and
    should not be used in newly-written code. Use GtkWidget's alignment
    ("halign" and "valign") and margin properties or GtkLabel's
    "xalign" and "yalign" properties."

[2] Gtkmm 3.16 Gtk::Misc Class Reference, set_alignment() method
    https://developer.gnome.org/gtkmm/3.16/classGtk_1_1Misc.html#a52b2675874cf46a3097938756b9fe9e8

[3] GNOME BugZilla - EmptyBoxes: instructions_label's alignment is off
    https://bugzilla.gnome.org/show_bug.cgi?id=735841

[4] Gtk commit from 2014-09-16:
    GtkLabel: add x/yalign properties
    https://gitlab.gnome.org/GNOME/gtk/commit/d39424fc

[5] Gtk3 Reference Documentation - gtk_label_set_xalign()
    https://developer.gnome.org/gtk3/stable/GtkLabel.html#gtk-label-set-xalign

[6] Gtkmm 3.16 Gtk::Label Class Reference, set_xalign() method
    https://developer.gnome.org/gtkmm/3.16/classGtk_1_1Label.html#acee7d4e87d7cc14080a7b8ded5f84e5e

Closes !40 - Limit wrapping labels
2019-05-15 16:11:21 +01:00
Luca Bacci 769d19e0f9 Set a default max_width_chars for wrapping Gtk::Labels (!40)
Opening the Partition Information dialog for a file system mounted on a
very long mount point, or on openSUSE which mounts the OS from 10 btrfs
subvolumes from the same partition, will cause the dialog to be very
wide as the "Mounted on ..." text is not wrapped.

Back in Gtk2, when width_chars / max_width_chars were not set, wrapping
labels had a default width beyond which text wrapped onto a new line
[1].

For Gtk3 this default width was first reworked a bit [2], and then was
removed for the very early Gtk3 3.0.10 release [3].

It is recommended that applications explicitly set default values,
otherwise wrapping labels never wrap when requesting their natural
allocation.

References:

[1] Gtk 2.24.32 source code - gtk/gtklabel.c:2975
    https://gitlab.gnome.org/GNOME/gtk/blob/2.24.32/gtk/gtklabel.c#L2975
        "This long string gives a good enough length for any line to
        have."

[2] Gtk commit from 2010-04-21:
    680d7762ba
    Make sure not to base the minimum size on "max-width-chars", only
    the natural size.
        "This string is just about long enough."

[3] Gtk commit from 2011-04-17:
    c8ce1106c1
    label: Don't try to guess a label's size

    People should use window default sizes or label
    width-chars/max-width-chars to find the ideal layout for a label
    instead of relying on magic.

Closes !40 - Limit wrapping labels
2019-05-15 07:36:08 +01:00
Luca Bacci eeffd50531 Request natural width in Gtk::ScrolledWindows for Gtk >= 3.22 (!39)
Before Gtk 3.22 GtkScrolledWindow propagated natural size to its
Children and so on to descendants.  In Gtk 3.22 this was changed to
always request the minimum size.  This was done because it is believed
to be a safer default (gives a better behaviour) in case of dynamic
content inside the scrolled window, that is, content that may change
allocated size. [1][2][3]

When the scrolled window content is not dynamic the natural size is
preferable because it gives a better looking layout and without any
downside.

In the case of GParted content which is not dynamic, so request the
scrolled windows to allocate children at natural sizes for Gtk >= 3.22.

The benefits of natural size allocation are evident in presence of
wrapping labels (for example inside the "Partition Info" dialog), that
with the minimum size request likely end up taking a very small width.

References:

[1] Gtk commit from 2016-08-31:
    GtkScrolledWindow: Make propagation of natural child sizes optional
    0984d1622d
    "Making propagation of child natural sizes mandatory (or default,
    even) was evidently a mistake as this causes dynamic content in a
    scrolled window to resize it's parent when the scrolled window is
    competing for space with an adjacent widget."

[2] Gtk 3.22 Reference Documentation -
    gtk_scrolled_window_set_propagate_natural_width
    https://developer.gnome.org/gtk3/3.22/GtkScrolledWindow.html#gtk-scrolled-window-set-propagate-natural-width

[3] Gtkmm 3.24 Gtk::ScrolledWindow Class Reference,
    set_propagate_natural_width() method
    https://developer.gnome.org/gtkmm/3.24/classGtk_1_1ScrolledWindow.html#a2d4cb945688ecb8739efd70b18742779

[4] Gtkmm 3.21.6 NEWS
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.21.6/NEWS
    "ScrolledWindow: Added get/set_propagate_natural_height/width() and
    the properties."

Closes !39 - Always request natural size inside Gtk::ScrolledWindow
2019-05-13 20:12:12 +00:00
Rafael Fontenelle 55d3dea78e Update Brazilian Portuguese translation 2019-05-10 10:13:14 +00:00
Yuras Shumovich 00862a2f82 Update Belarusian translation 2019-05-01 17:48:23 +00:00
Seong-ho Cho d906b907e5 Update Korean translation 2019-04-30 22:14:50 +00:00
Mike Fleetwood ad6d2b3890 Replace deprecated get_vbox() with get_content_area() (!25)
get_vbox() was deprecated in gtkmm 3.1.6 [1][2].  Switch to the
get_content_area() replacement.  Note that GParted already requires
gtkmm >= 3.4 as set in configure.ac.

[1] Gtkmm 3.1.6 NEWS
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.1.6/NEWS
    "Dialog: Deprecate get_vbox(), replacing with get_content_area(),
    to match the C function name."

[2] Gtkmm commit from 2011-06-13:
    Dialog: Deprecate get_vbox(), replacing with get_content_area().
    https://git.gnome.org/browse/gtkmm/commit/?id=5ccc289fa8e9b046c07f5ea234f5ced8c6356fc1

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 8902b0a260 Use Gtk::Grid for Dialog_Partition_Info (!25)
Gtk::Table was deprecated in Gtk 3.4.0.  Replace with Gtk::Grid.

This commit makes the change for Dialog_Partition_Info.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci d57d79b1c4 Use Gtk::Grid for Win_GParted pt2 (!25)
Gtk::Table was deprecated in Gtk 3.4.0.  Replace with Gtk::Grid.

This commit makes the change for Win_GParted / pt2.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 6e07fb051b Use Gtk::Grid for Win_GParted pt1 (!25)
Gtk::Table was deprecated in Gtk 3.4.0.  Replace with Gtk::Grid.

This commit makes the change for Win_GParted / pt1.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 28f133929d Use Gtk::Grid for Dialog_Base_Partition (!25)
Gtk::Table was deprecated in Gtk 3.4.0.  Replace with Gtk::Grid.

This commit makes the change for Dialog_Base_Partition.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 90b3e99554 Use Gtk::Grid for Dialog_Partition_New (!25)
Gtk::Table was deprecated in Gtk 3.4.0 [1].  Replace with Gtk::Grid.
Note that the meaning of the attachment parameters changed between
Gtk::Table::attach() [2] from left, right, top, bottom and
Gtk::Grid::attach() [3] to left, top, width, height.

This commit makes the change for Dialog_Base_Partition.

[1] Gtkmm 3.4 NEWS file (actually first included in gtkmm 3.3.2
    unstable)
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.4.0/NEWS#L162
        * Deprecate Gtk::Table in favour of Gtk::Grid.

[2] Gtkmm 3.4 Gtk::Table Class Reference, attach() method
    https://developer.gnome.org/gtkmm/3.4/classGtk_1_1Table.html#a28b6926e68337a51ba29f2b4dd69f087
        Deprecated: 3.4: Use Gtk::Grid::attach() with Gtk:Grid.  Note
        that the attach argument differ between those two function.

[3] Gtkmm 3.4 Gtk::Grid Class Reference, attach() method
    https://developer.gnome.org/gtkmm/3.4/classGtk_1_1Grid.html#a9c425e95660daff60a77fc0cafc18115

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 1bee0ddf26 Use Gtk::Separator (!25)
Gtk::HSeparator was deprecated in Gtkmm 3.2.  Replace with plain
Gtk::Separator.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 667af24c73 Use Gtk::Paned (!25)
Gtk::HPaned and Gtk::VPaned were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Paned.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 07fc4aefc3 Use Gtk::Box for Dialog_Progress (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_Progress.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci d780ca644e Use Gtk::Box for Dialog_Rescue_Data (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_Rescue_Data.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci cc6a085e60 Use Gtk::Box for DialogPasswordEntry (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for DialogPasswordEntry.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci c1f22e28a4 Use Gtk::Box for Dialog_Partition_Name (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_Partition_Name.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:05 +01:00
Luca Bacci 784a4977b1 Use Gtk::Box for Dialog_FileSystem_Label (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_FileSystem_Label.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci ca4c4160cc Use Gtk::Box for DialogFeatures (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for DialogFeatures.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci 85ab57fee6 Use Gtk::Box for Dialog_DiskLabel (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_DiskLabel.cc.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci 363868bf5c Use Gtk::Box for Dialog_Partition_Info (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_Partition_Info.{h,cc}.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci bfeb123462 Use Gtk::Box for Dialog_Base_Partition (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for Dialog_Base_Partition.{h,cc}.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci b0f455c702 Use Gtk::Box for HBoxOperations (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2.  Replace with
plain Gtk::Box.

This commit makes the change for HBoxOperations.{h,cc}.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci c02c3ee4b5 Use Gtk::Box for Win_GParted (!25)
Gtk::HBox and Gtk::VBox were deprecated in Gtkmm 3.2 [1].  Replace with
plain Gtk::Box.

This commit makes the change for Win_GParted.{h,cc}.

[1] Gtkmm 3.2.0 NEWS file (actually first included in gtkmm 3.1.6
    unstable)
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.2.0/NEWS#L91
        Gtk:
        * All H* or V* specialized classes have been deprecated, to
          match the deprecations in the GTK+ C API.  You should now
          set the orientation instead.
          This includes HBox, VBox, HButtonBox, VButtonBox, HPaned,
          VPaned, HScale, VScale, HSeparator, VSeparator, HScrollbar and
          VScrollbar.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Luca Bacci 74bb981ed2 Use Gdk::RGBA (!25)
The Gdk::RGBA data type was introduced to replace Gdk::Color in
Gtkmm 3.0 [1], with Gdk::Color being deprecated in Gtkmm 3.10 [2].

With this commit we make the change to Gdk::RGBA data type which is the
modern replacement to Gdk::Color.  Gdk::RGBA can be used almost as a
drop in replacement because it keeps most of the Gdk::Color interface.

Also, this commit removes the C Gtk call introduced during the
port-to-gtk3 patchset by commit:
    5379352766
    repare-for-gtk3: Prepare for removal of Gtk::Widget::modify_fg() (#7)

[1] Gtkmm 3.0.1 NEWS file
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.0.1/NEWS#L48
        * RGBA replaces Color, though Color still exists because it is
          used by TextView.  We hope to deprecated Color completely in
          gtkmm 3.2.

[2] Gtkmm 3.10.0 NEWS file
    https://gitlab.gnome.org/GNOME/gtkmm/blob/3.10.0/NEWS#L127
        Gdk:
        * Deprecate Color.

Closes !25 - Modern Gtk3 - part 1
2019-04-27 12:03:04 +01:00
Mike Fleetwood 2c19a620b1 Update includes in DialogFeatures.h and .cc
Mostly add, but also remove, #includes so both DialogFeatures.h and .cc
include exactly the header files each needs to get the definitions they
use.

Header file #include guards are there to specifically enable this.
2019-04-22 21:51:30 +01:00
Mike Fleetwood 57e8ac50f4 Rename method to DialogFeatures::load_one_filesystem()
To better reflect that it is loading the supported actions for one file
system into the treeview, just like it's parent load_filesystems() is
initiating the loading for all the file systems.
2019-04-22 21:51:30 +01:00
Mike Fleetwood 4939b941dd Fix available Partition menu options not being updated on rescan (!38)
Select a partition and look at the available actions in the Partition
menu.  Then add or remove some commands which that particular file
system uses and rescan to detect those changes.  Open the Partition menu
again.  It doesn't reflect the changes of supported actions seen in the
File System Support dialog.  Select a different partition and then
select the original partition again.  Now the available actions in the
Partition menu reflect the changes of supported actions.

Have been testing by adding and removing /sbin/e2label to add and
remove EXT2/3/4 file system labelling support just because that feature
has existed for a very long time and EXT2/3/4 are displayed near the top
of the File System Support dialog.  Tested this minor issue existed as
far back as GParted 0.3.7.

Fix by simply also refreshing the valid operations to update the
Partition menu after updating the found file system specific commands.

Closes !38 - Fixes for minor issues with File System Support rescanning
2019-04-22 21:51:30 +01:00
Mike Fleetwood 7ea91bca61 Fix File System Support dialog not showing changes after rescan (!38)
Open the File System Support dialog, either add or remove some file
system specific commands used by GParted and press the
[Rescan For Supported Actions] button.  The supported actions don't
change.  However after just closing and reopening the dialog, the
supported actions do reflect the added or removed file system specific
commands.

Bisected to this commit:
    4d6d464664
    Display "other" in the File System Support dialog (!13)

The problem is that commit made a subset copy of the
GParted_Core::FILESYSTEMS vector, obtained from get_filesystems(), so
when the rescan ran and the FILESYSTEMS vector was updated with new
supported actions, the dialog still displayed the original subset copy,
so didn't reflect the changed supported actions.

Fix by passing a reference to the GParted_Core::FILESYSTEMS vector,
obtained from get_filesystems(), and perform the necessary filtering
inside the dialog, like before the above faulty commit.  Additionally
finding and adding "other" file system to the end of the list.

Closes !38 - Fixes for minor issues with File System Support rescanning
2019-04-22 21:51:28 +01:00
Mike Fleetwood 1b17264603 Stop checking for 'ntfslabel --new-serial' support
The oldest supported distributions have these versions of ntfs-3g /
ntfsprogs.

  Distro             EOL        ntfs-3g / ntfsprogs
- Debian 8           2020-Jun   2014.2.16AR.2
- RHEL / CentOS 7    2024-Jun   2017.3.23
- Ubuntu 14.04 LTS   2019-Apr   2013.1.13AR.1

The oldest version of ntfs-3g / ntfsprogs on Ubuntu 14.04 LTS includes
support for the --new-serial option.

    $ ntfslabel -V

    ntfslabel v2013.1.13AR.1 (libntfs-3g) - Display, or set, the label for an NTFS Volume.

    $ ntfslabel --help | grep -- --new-serial
            --new-serial   Set a new serial number

Therefore it is no longer necessary to check for this option as it is
always available.  The worst case scenario is that some how an old
version of ntfslabel is used which doesn't support this option.  In such
a case GParted goes from not supporting changing the UUID to claiming
support, but presumably it would fail with an error reporting unknown
option when applied.  Arguably better from an end user support point of
view.
2019-04-17 16:40:19 +00:00
Mike Fleetwood d795cccb1b Consolidate common if have ntfsresize command conditions 2019-04-17 16:40:19 +00:00
Mike Fleetwood ef4d4cb100 Switch to faster ntfsinfo to read NTFS usage (#47)
A user reported GParted was slow to refresh and timing ntfsresize to
query his file systems found that it was taking 4.7 seconds and 9.2
seconds for sizes 31.7 GiB and 49 GiB NTFS file systems respectively.
Almost 14 seconds just to read the usage.

Created a 4 GiB NTFS and filled it with as many 4 KiB files as possible,
just over 800,000 files.

    # df -k /mnt/2
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sdb2        4194300 4193860       440 100% /mnt/2
    # df -i /mnt/2
    Filesystem     Inodes  IUsed IFree IUse% Mounted on
    /dev/sdb2      819640 808591 11049   99% /mnt/2

Testing perform of ntfsresize:

    # time ntfsresize --info --force --no-progress-bar /dev/sdb2 | \
    > egrep 'Current volume size|resize at|Cluster size'
    Cluster size       : 4096 bytes
    Current volume size: 4294963712 bytes (4295 MB)
    You might resize at 4294516736 bytes (freeing 450560 bytes).

    real    0m5.231s
    user    0m2.072s
    sys     0m3.014s

Computation of figures:
    Clusters per volume = 4294963712 / 4096 = 1048575.125
    Free clusters = (4294963712 - 4294516736) / 4096 = 109.125

Testing performance of ntfscluster, as used before this commit [1] from
GParted 0.3 in 2006:

    # time ntfscluster --force /dev/sdb2 | \
    > egrep 'bytes per cluster|bytes per volume|clusters per volume|clusters of free space'
    ...
    bytes per cluster       : 4096
    bytes per volume        : 4294963200
    clusters per volume     : 131071
    clusters of free space  : 110

    real    0m4.243s
    user    0m1.629s
    sys     0m2.587s

Note that the clusters per volume figure reported by ntfscluster is
wrong.  4294963200 / 4096 = 1048575, not 131071.

Testing performance using ntfsinfo:

    # time ntfsinfo --mft /dev/sdb2 | \
    egrep 'Cluster Size|Volume Size in Clusters|Free Clusters'
            Cluster Size: 4096
            Volume Size in Clusters: 1048575
            Free Clusters: 110 (0.0%)

    real    0m0.022s
    user    0m0.012s
    sys     0m0.018s

Repeating the above tests while also using 'btrace /dev/sdb2' and Ctrl-C
around each test via a separate terminal, reports these numbers of I/Os
being performed:
  Command      Read requests   Read bytes
- ntfsresize           2,695     1116 MiB
- ntfscluster          2,685     1116 MiB
- ntfsinfo                13     2208 KiB
No wonder that ntfsresize and ntfscluster take a long time, they read
just over 1 GiB of data from the 4 GiB file system, where as ntfsinfo
only reads just over 2 MiB.

Switch to using ntfsinfo to report file system usage.

[1] 9d956594d6
    replaced ntfscluster with ntfsresize (see #350789)

Closes #47 - GParted is slow refreshing NTFS file systems
2019-04-17 16:40:19 +00:00
Daniel Mustieles 8a7d7fbcf7 Updated Spanish translation 2019-04-17 12:29:26 +02:00
Daniel Mustieles e2d8272fa3 Update Spanish translation 2019-04-17 10:27:46 +00:00
Mike Fleetwood 8ea0b7ef13 Prefer enum to string comparison in set_partition_type() 2019-04-15 18:28:13 +00:00
Mike Fleetwood ab1381b1f4 Stop trying unneeded alternative libparted linux-swap names
With that same commit in parted 1.9 [1], libparted only recognised these
linux-swap names via deprecated aliases:
    linux-swap(old)
    linux-swap(new)
but does accept this name as a current alias:
    linux-swap
for:
    linux-swap(v1)

Demonstration:
    # parted -v
    parted (GNU parted) 2.1
    ...

    # parted /dev/sdc mkfs yes 1 "linux-swap(new)" unit s print
    ...
    [0] filesys.c:148 (ped_file_system_type_get(): File system alias linux-swap(new) is deprecated
    ...
    Number  Start  End       Size      Type     File system     Flags
     1      2048s  2099199s  2097152s  primary  linux-swap(v1)

    # parted /dev/sdc mkfs yes 1 "linux-swap" unit s print
    ...
    Number  Start  End       Size      Type     File system     Flags
     1      2048s  2099199s  2097152s  primary  linux-swap(v1)

Again as GParted now requires libparted 2.2 or later:
1) Stop using alternative "linux-swap(new)" name as that is deprecated
   by libparted.
2) Also stop using alternative "linux-swap(v1)" name as that code is
   never used because libparted recognised the GParted "linux-swap"
   name as a current alias.

[1] http://git.savannah.gnu.org/cgit/parted.git/commit/?id=cfafa4394998a11f871a0f8d172b13314f9062c2
    Rationalise linux-swap fs names, and add a "linux-swap" alias
2019-04-15 18:28:13 +00:00
Mike Fleetwood 40ec0deba8 Stop recognising retired libparted linux-swap names
With this commit in parted 1.8.3 [1], libparted changed from reporting
the name of Linux swap as:
    linux-swap
to reporting either:
    linux-swap(old)
    linux-swap(new)
Later with this commit in parted 1.9 [2], libparted stopped reporting
those names and reported these instead:
    linux-swap(v0)
    linux-swap(v1)

Demonstration:
    # mkswap /dev/sdc1
    Setting up swapspace version 1, size = 1048572 KiB
    no label, UUID=a2010834-003d-4bf2-9e94-58383fe20a26
    # blkid /dev/sdc1
    /dev/sdc1: UUID="a2010834-003d-4bf2-9e94-58383fe20a26" TYPE="swap"
    # parted -v
    parted (GNU parted) 2.1
    ...
    # parted /dev/sdc unit s print
    ...
    Number  Start  End       Size      Type     File system     Flags
     1      2048s  2099199s  2097152s  primary  linux-swap(v1)

As GParted now requires libparted 2.2 or later [3], remove recognition
for those no longer libparted reported linux-swap names.  Note that the
"swap" name is reported by blkid.

[1] http://git.savannah.gnu.org/cgit/parted.git/commit/?id=98a53fd115ca012edf226525b8d4be628454f99e
    Enable support for swsusp partitions, and the ability to
    differentiate between old and new versions of linux-swap partitions.
    Changed the swap_init signature and removed extra ped_geometry_read
    from _swap*_open.

[2] http://git.savannah.gnu.org/cgit/parted.git/commit/?id=cfafa4394998a11f871a0f8d172b13314f9062c2
    Rationalise linux-swap fs names, and add a "linux-swap" alias

[3] 8df975c7d1
    Increase minimum required libparted to 2.2 (!22)
2019-04-15 18:28:13 +00:00
Mike Fleetwood 4d9dc14b0e Set partition type when formatting to cleared (!36)
Formatting a partition to cleared over the top of LVM2 PV leaves the
"lvm" flag set on the partition; where as formatting with an actual file
system over the top of an LVM2 PV clears the "lvm" flag.  This is true
for both MSDOS and GPT partitioned drives.

Fix by setting the partition type when formatting to cleared too.

Closes !36 - Set partition type when clearing partition contents
2019-04-15 18:28:13 +00:00
Stas Solovey 5d2dc72144 Update Russian translation 2019-04-15 17:59:16 +00:00
Piotr Drąg 7796a87ed2 Update Polish translation 2019-04-14 14:12:10 +02:00
Mike Fleetwood 6ad107bc3b Remove unnecessary #include from GParted_Core.cc 2019-04-11 10:06:36 -06:00
Mike Fleetwood ea7bd0d419 Rename Dialog_Progress member variable to m_curr_op
Having a member variable named 't' which is used to share state in a
Dialog_Progress object between on_signal_show() and on_cancel() methods
is horrible.  Rename to something more meaningful.

Also initialise m_curr_op in the constructor's initialisation list,
rather than later when first used in on_signal_show().  Not strictly
required, but avoids this POD (Plain Old Data) member variable being
undefined in the Dialog_Progress object between construction and when
on_signal_show() previously assigned to it for the first time and
started using it.

* C++ FAQ / Should my constructors use "initialization lists" or
  "assignment"?
  https://isocpp.org/wiki/faq/ctors#init-lists
2019-04-11 10:06:36 -06:00
Mike Fleetwood 22ce8a4c64 Rename for loop counter variables to normative 'i' in Dialog_Progress
Several for loops created counter variable t, hiding member variable of
the same name.  Rename those loop counter variables to the normative
name 'i'.

* Why do most of us use 'i' as a loop counter variable?
  https://softwareengineering.stackexchange.com/questions/86904/why-do-most-of-us-use-i-as-a-loop-counter-variable
2019-04-11 10:06:36 -06:00
Mike Fleetwood 63f578a94b Use CSS to turn off table borders once in saved details HTML 2019-04-11 10:06:36 -06:00
Mike Fleetwood 4ccee8063c Rename method to Dialog_Progress::write_operation_details()
And update comment about replacing '\n' to reflect what the code
actually does.
2019-04-11 10:06:36 -06:00
Mike Fleetwood f779002972 Additionally write partition information to saved details (#639176)
Bug 639176 - Save partition layout to gparted_details.htm
2019-04-11 10:06:36 -06:00
Mike Fleetwood edb3afac7b Write starting device overview information to saved details (#639176)
Writes the starting device overview information of all known devices to
the top of the saved details HTML.  This is so that hopefully we don't
need to additionally ask users for their disk layouts via 'fdisk -l',
'parted print' and 'lsblk' when the saved details file is provided.

Also moves the equals separators "==================" from below to
above each operation so the each section is separated.

Bug 639176 - Save partition layout to gparted_details.htm
2019-04-11 10:06:36 -06:00