* improved errorhandling a bit. At the initialscan we store
errors/warnings now in a list per partition and show the in the
partitioninfo dialog.
While executing an operation we collect all libparted exceptions in
a list and attach this list to the operationdetails when everything
is done.
* include/FileSystem.h,
include/GParted_Core.h,
src/FileSystem.cc,
src/GParted_Core.cc,
src/ext2.cc,
src/ext3.cc,
src/ntfs.cc,
src/reiserfs.cc: removed cylindersize buffering during resize from
the filesystems. It is not needed anymore now we calculate the new
position before calling this.
Also added some extra progressfeedback in the core
* src/Win_GParted.cc: added FIXME:
* include/GParted_Core.h,
src/GParted_Core.cc,
src/fat32.cc: decoupled libparted partition and filesystemresizing.
This resulted in a much more consistent core. This also affected
several other aspects of resizing/moving in a positive way.
* include/GParted_Core.h,
src/GParted_Core.cc,
src/Win_GParted.cc: perform some checks before adding a new
operation to the list.
* src/Partition.cc: made get_length() a bit safer
* include/Dialog_Progress.h,
include/Operation.h,
src/Dialog_Progress.cc,
src/GParted_Core.cc: show warning in progressfeedback if a certain
action is n/a. Of course we only allow these actions if the results
are non-lethal.
* src/Win_GParted.cc,
include/GParted_Core.h,
src/GParted_Core.cc: implemented snap to cylinder algorithm.
Although the algorithm is very simple, it seems to work perfectly.
However, some additional testing is required.
* include/GParted_Core.h,
src/GParted_Core.cc,
src/ext2.cc: added movesupport, atm in experimental state and needs
lots of cleaning. only enabled for ext2, but should work for all
filesystems.
* src/DialogFeatures.cc: added alternating rowcolours (see #342682)
* include/Dialog_Partition_Copy.h,
include/GParted_Core.h,
include/OperationCopy.h,
include/Win_GParted.h,
src/Dialog_Partition_Copy.cc,
src/GParted_Core.cc,
src/OperationCopy.cc,
src/Win_GParted.cc: made blocksize settable by the user.
* Use ped_device_read and ped_device_write instead of 'dd' to copy
filesystems.
Modified progressdetails to provide more detailed feedback about a
process.
Basicly these were all changes to the infrastructure to make the
incorporation of the 'move-code' a bit easier.
( sorry, not in the mood to list all affected files ;)
* src/DialogManageFlags.cc: disabled resizing of this dialog
* include/DialogFeatures.h,
include/Makefile.am,
include/Win_GParted.h,
src/DialogFeatures.cc,
src/Makefile.am,
src/Win_GParted.cc: renamed 'Filesystems' to 'Features' in the
featuredialog to better reflect the actual functionality
* include/Dialog_Filesystems.h,
src/Dialog_Filesystems.cc: removed
* include/GParted_Core.h,
src/GParted_Core.cc: improved disabling of automounting. It's still
somewhat crude, but right now it's ok for some semi-public testing.
I'll do some cleanups tomorrow morning.
* src/Dialog_Progress.cc: added FIXME
* include/GParted_Core.h,
src/GParted_Core.cc: an initial solution for the automount problem.
I still need to add something to prevent just created partitions from
getting mounted. (see #324220 for more info)
* include/Partition.h,
src/Partition.cc: added set_used() and operator!=
* src/Dialog_Partition_Copy.cc,
src/GParted_Core.cc,
src/OperationCopy.cc,
src/Win_GParted.cc: it's now possible to copy from partition to
partition. (before this it was only possible to copy to unallocated
space)
* include/TreeView_Detail.h,
src/TreeView_Detail.cc: made icon behaviour more intelligent
* src/GParted_Core.cc: small improvement in open_device_and_disk()
* include/DrawingAreaVisualDisk.h,
src/DrawingAreaVisualDisk.cc: fixed a few issues with
selecting/activating partitions.
* include/Utils.h,
src/Utils.cc,
src/Dialog_Disklabel.cc,
src/Dialog_Partition_Info.cc (mk_label): improved support for
aligment.
* src/Win_GParted.cc: fixed a small alignmentissue in the devices
submenu.
* include/DrawingAreaVisualDisk.h,
src/DrawingAreaVisualDisk.cc: another change to highlighting of
selected partition.
* include/Partition.h,
src/Win_GParted.cc: deal properly with just formatted partitions
* src/Operation.cc: added FIXME
* changed the way devices and partitions store their devicepaths.
Instead of holding a 'realpath' and a symbolic path we store paths
in a list. This allows for improved detection of mountpoins, free
space, etc..
Also fixed a nasty bug which showed up when you copy a partition
from one device to another. (thanks to mario for the report)
* include/DrawingAreaVisualDisk.h,
include/Makefile.am,
include/Win_GParted.h
src/DrawingAreaVisualDisk.cc,
src/Makefile.am
src/Win_GParted.cc: removed the frame from the visualdiskwidget and
changed some visual details. Also changed visual representation of
selected partition. The latter might be considered as a work in
progress.
* include/FrameVisualDisk.h,
src/FrameVisualDisk.cc: Removed.
* include/GParted_Core.h,
include/TreeView_Detail.h,
src/GParted_Core.cc,
src/TreeView_Detail.cc: show greyed-out mountpoint of unmounted
partitions in the treeview as an improved way to identify
partitions. (#333027)
* src/Win_GParted.cc: cleanups
* include/FrameVisualDisk.h,
src/FrameVisualDisk.cc: improved the algorithm to deal with lost
pixels after seeing some problems with rather insane
partitiontables.
* src/Dialog_Partition_Info.cc: minor cleanup
* src/GParted_Core.cc: show error in partitioninfo if statvfs fails
* src/TreeView_Detail.cc: added FIXME
* include/Frame_Resizer_Base.h,
include/Frame_Resizer_Extended.h,
src/Dialog_Base_Partition.cc,
src/Dialog_Partition_Copy.cc,
src/Dialog_Partition_New.cc,
src/Dialog_Partition_Resize_Move.cc,
src/Frame_Resizer_Base.cc,
src/Frame_Resizer_Extended.cc: did lots of work on the resizer, it's
behaviour should be more natural and satisfying now. (see also
#331591)
* src/Win_GParted.cc: extended partition was resizable even when it's
busy. fixed.
* src/ntfs.cc: made scan output more readable.
* src/FrameVisualDisk.cc: added FIXME
* include/GParted_Core.h,
src/GParted_Core.cc: catch libparted exceptions and display them in
the operationdetails if an operation has failed.
* src/Dialog_Progress.cc: small cosmetic change to the errordialog.
* in some places i still used MiB's instead of sectors to store sizes.
this has been fixed everywhere. Only the spinbuttons still use
MiB's. I have a few ideas on how to solve this, but i'll take it up
with #usability first.
* src/FrameVisualDisk.cc: prevent crasher when visual_disks is empty.
* include/Win_GParted.h,
src/Win_GParted.cc: load devices at startup on signal_show instead
of dispatching it from the c'tor.
Also did some cleanups in the behaviour of opening and closing of
the operationslist.
* include/GParted_Core.h,
src/GParted_Core.cc,
src/Win_GParted.cc: deal with the rare situation when 2 partitions
are mounted on the same mountpoint. (see also #330327)
* include/GParted_Core.h,
include/Partition.h,
src/Dialog_Partition_Info.cc,
src/GParted_Core.cc,
src/Partition.cc,
src/TreeView_Detail.cc: store flags in a list instead of a string.
* Makefile.am,
src/Makefile.am: cleanups
* include/GParted_Core.h,
include/Partition.h,
src/Dialog_Partition_Info.cc,
src/GParted_Core.cc,
src/Partition.cc,
src/TreeView_Detail.cc,
src/Win_GParted.cc: support partitions with multiple mountpoints
(see also #330327)
* wrap mount/umount/swapon/swapoff instead of implementing it
ourselves (#330641)
* moved execute_command() to Utils and made the filesystems use it. All
in all this decreased the size of the binary with 10% and made stuff
more readable.
* include/Win_GParted.h,
src/Win_GParted.cc: it shouldn't be possible to remove an extended
partition which contains logicals.
* src/TreeView_Detail.cc: only show mountpoint column when there is
mountinfo.
* src/Win_GParted.cc: removed warning about busy device. It's not
really needed and it confuses people.
* include/Operation.h: set default status of operationdetails to NONE
* include/Dialog_Progress.h,
src/Dialog_Progress.cc: implemented export of operationdetails to
external file. This can be very usefull for debugging. (#329968)
* include/TreeView_Detail.h,
src/TreeView_Detail.cc: added mountpointcolumn (#304688)
* include/Win_GParted.h,
src/Win_GParted.cc: added submenu 'Devices' which allows one to
select devices from the menu (#329415)
* use Glib::get_tmp_dir() instead of hardcoding it as '/tmp'
* use Glib::find_program_in_path() instead af a system/which combi
* display current device in windowtitle
* correct partitiontype of destination is now set while copying
* resizing now return correct status (sometimes it would report
succes even when some of the suboperationes failed)
* fixed some issues with resizing and cylindersizes.
* removed Execute_Command() and replaced it by execute_command().
The latter uses Glib::spawn_sync instead of popen().
also made the filesystems call execute_command rather than calling
Glib::spawn_sync themselves.
* implemented Utils::sector_to_unit() and use it in several places
* (finally) fixed errors with ntfsresizing (had a lot to do with
difference between MB and MiB)
* resizing of reiserfs now shows more detailed feedback
* support for TebiByte (TiB) unit
* added detailed progressfeedback. It still needs some polishing, but
is already far better then the old situation. And what's more, it's
finally threadsafe :p
* include/Win_GParted.h,
src/Win_GParted.cc: added visual feedback when unmounting or
deactivating swap. This can be usefull when it takes longer then
usual.
* src/Dialog_Partition_Info.cc: removed separator in accordance to the
HIG
* include/Win_GParted.h,
src/Win_GParted.cc: it's now possible to deactivate swap from within
gparted.
* src/GParted_Core.cc: sleep one second after deletion of a partition to
give the kernel some time to reread the partitiontable.
* include/Device.h,
src/Device.cc: replaced 'device_partitions' with 'partitions'
* src/Win_GParted.cc: use new Device::partitions
* include/Partition.h,
src/Partition.cc: added 'realpath'
* src/Dialog_Partition_Info.cc: use Partition::realpath..
* include/GParted_Core.h,
src/GParted_Core.cc:use ped_partition_get_path() instead of
constructing it ourselves. (#325800)
Also use global maps for mountpoints and shortpaths to prevent
fileaccess from happening more then once per scan.
* include/Partition.h,
src/Partition.cc: added get_length()
* include/Utils.h,
src/Utils.cc,
src/Dialog_Partition_Info.cc,
src/Operation.cc,
src/TreeView_Detail.cc,
src/VBox_VisualDisk.cc,
src/Win_GParted.cc: from now on values >=1024MB are displayed in
GB's (#319840)
* happy new year ;)
* src/TreeView_Detail.cc: fixed some alignment issues
* include/GParted_Core.h,
src/GParted_Core.cc,
include/Operation.h,
src/Operation.cc,
include/Win_GParted.h,
src/Win_GParted.cc: removed confirmationdialogs for delete and
convert partitions (#319841).
Also renamed 'convert' to 'format' to reflect the actual
functionality.
* include/Win_GParted.h,
src/Win_GParted.cc: replaced deprecated OptionMenu with ComboBox.
also fixed some issues which arised when no devices were detected.
* include/Partition.h,
src/Partition.cc: overloaded operator ==
* include/VBox_VisualDisk.h,
src/VBox_VisualDisk.cc: rewrote the graphical partitiondisplay. It
now supports resizing and the extended partition is also selectable.
see also #312656
* include/Win_GParted.h,
src/Win_GParted.cc: use the new graphical partitiondisplay.
* src/TreeView_Detail.cc: minor cleanups
* include/Utils.h,
src/Utils.cc: added get_color_as_pixbuf() to create colored squares
of custom sizes. These can be use troughout the app to represent
filesystems. e.g. in the treeview and convertmenu.
* include/TreeView_Detail.h,
src/TreeView_Detail.cc,
include/VBox_VisualDisk.h,
src/VBox_VisualDisk.cc,
include/Win_GParted.h,
src/Win_GParted.cc: use Utils::get_color_as_pixbuf() instead of
custom drawn widgets.
* include/Utils.h,
src/Utils.cc: added mount() and unmount()
* src/Win_GParted.cc,
src/jfs.cc,
src/xfs.cc: use Utils::mount and Utils::umount instead of wrapping
CLI tools.
* include/GParted_Core.h,
src/GParted_Core.cc: did some cleanups
* include/Operation.h,
src/Operation.cc: added get_index_extended to get the ext_index in a
uniform way instead of calculating it every time ourselves.
* replaced the inline Utils functions with static functions.
This shaves a few kbytes (24 in fact) off the binary and is a bit
cleaner code-wise (imho).
* include/Partition.h,
src/Partition.cc: added 'Glib::ustring mountpoint'
* include/GParted_Core.h,
src/GParted_Core.cc: implemented set_mountpoints() to set mountpoint
in partitions.
* include/Dialog_Partition_Info.h,
src/Dialog_Partition_Info.cc: use Partition::mountpoint instead of
finding it ourselves.