* include/GParted_Core.h,
src/GParted_Core.cc: tried to fix a couple of errors with moving to
the right with overlap (thanks Larry for hunting ;) )
Although everything seems to work well i'm still not sure if
everything is 100% ok.
I guess everything could use some more testing, which is exactly
what i plan to do this weekend :)
* happy 24th birthday Johannes! :^)
* include/GParted_Core.h,
src/GParted_Core.cc: restructured resize_move() to be more robust.
This will hopefully tackle a couple of issues which came up during
the public testing.
* include/GParted_Core.h,
src/GParted_Core.cc: fixed some issues with combi move+shrink on
fat* and hfs* filesystems.
Also call wait_for_node() from commit() if 'node' was provided.
* include/GParted_Core.h,
src/GParted_Core.cc: created set_progress_info() (i actually planned
on adding some time remaining stuff, but xfiles is waiting ;) )
* include/GParted_Core.h,
src/GParted_Core.cc: did some work on disabling of automounting of
removable drives. The current method is not entirely to my liking
but it seems to work.
* implemented some stuff to find a good blocksize to use for
copy/move. Actually i'm not really happy with it, because probing
seems suboptimal, but it's better than nothing. As soon as i have
some time i should do some research on the subject to find a better
solution.
* 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
* 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 ;)
* 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)
* 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/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/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.
* 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)
* 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/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.
* 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/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.
* 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.
* include/Partition.h,
src/Partition.cc: from now on each partition has a reference to it's
device.
* src/Win_GParted.cc,
src/Dialog_Partition_New.cc: make use of new Set() from partition
* include/GParted_Core.h,
src/GParted_Core.cc: since ped_file_system_clobber() ignored reiser4
i've implemented a custom 'filesystem signature remover'.
Also made use of the fact a partition now knows on which device it
lives.
* src/Operation.cc: the get_string() didn't use
Get_Filesystem_String() and thus returned faulty strings. Also did
some cleanups.
* include/GParted_Core.h,
src/GParted_Core.cc: implemented a 'wait_for_node()' function after
reading http://bugs.gentoo.org/show_bug.cgi?id=102343. I couldn't
reproduce the bug myself, but i hope this wil solve it.
Also made 'set_partition_type()' return a boolean for improved
errorchecking.
* hmmz, lots of shimmery internals..
Instead of using a boolean to indicate support for certain
features i now use and enum (NONE, LIBPARTED, EXTENDED).
This allowed me to clean up some stuff that annoyed me ;)
Still.. the core could use a bit more love...
* include/FileSystem.h: cleanups
* include/GParted_Core.h,
src/GParted_Core.cc: correct partitiontype is now set after creation
or conversion. (#322281)
* src/Dialog_Filesystems.cc: fixed a11y thingy (#316108)
* include/GParted_Core.h,
src/GParted_Core.cc,
include/Dialog_Disklabel.h,
src/Dialog_Disklabel.cc,
src/Win_GParted.cc : get labeltypes from libparted instead of hardcoding them,
also changed some text (#315979)
* Added support for reiser4 (only creation atm, since the other functionality appears to be non-free software :/ )
Also, libparted isn't able to detect reiser4 yet, a patch to fix this is underway, but i should probably add reiser4 detection to gparted as well.
* include/GParted_Core.h,
src/GParted_Core.cc,
src/linux_swap.cc: fixed some issues with linux-swap. From now on you need 'mkswap' to create/resize/move linux-swap.
* Added cylsize to Device and made Operation contain a Device instead of only the path and lenght.
This way i was able to dump Get_Cyl_Size in the Core. Besides that, i used cylsize in WinGparted and made a lot of
cosmetic changes. Most of them were pretty useless, but hey, i'm bored ;)
* src/GParted_Core.cc,
src/Win_GParted.cc,
include/Utils.h,
include/GParted_Core.h: moved inline Get_FS from Utils.h to GParted_Core, saves a few K in exe size ;)
* include/GParted_Core.h,
src/GParted_Core.cc: Removed 'deep_scan' flag. From now on all scans are 'deep scans'.
* include/Win_GParted.h,
src/Win_GParted.cc: Gui is now loaded before anything else. (#161054)
* added support for jfs (create, copy, grow) and hfs (create, copy)
* fixed a bug in copying xfs filesystems.
* fixed a number of small bugs/annoying issues.
* Added support for xfs. this means creating and growing xfs filesystems. Shrinking requires some hacking with dump_xfs etc..
i'll add that at a later point. :)
* include/GParted_Core.h,
src/GParted_Core.cc: modified layoutscan a bit for improved handling of metadata.
* include/Operation.h,
src/Operation.cc: modified Insert_Unallocated() to prevent potential crasher.
* Harddisks without disklabel are now properly initizalized and shown in the menu. When one tries to create a new partition on
such a disk a dialog pops up with some blabla about disklabels and offers to create a disklabel. sweet :P (special thanks to mantiena-baltix
for bringing this issue to my attention)
* fixed minor annoyance with refreshing detailed deviceinfo after a 'deep refresh'
* include/GParted_Core.h,
src/GParted_Core.cc: fixed nasty error with resizing 'fixed-start filesystems'.
* src/Partition.cc: added a check to prevent unused space from being bigger then total space.
* src/ntfs.cc: removed -Q from mkntfs. -Q bypassed some safetychecks to gain performance and (so i heard later) also had a
tendency of failing ;) (Adrighem)
* include/GParted_Core.h,
src/GParted_Core.cc,
src/Makefile.am,
include/ntfs.h,
src/ntfs.cc: added full ntfs support. (couldn't test it very will due to the absence of a win32 box :P )
* Again way too many chances to create a detailed entry (i'm glad i'm the only dev atm :P ).
Resizing of ext2/3 works perfect now. I've even tested it on the partition holding my SG seasons =)
Implemented checking of filesystems (only internally used atm).
Done some overall tweaking, finetuning etc.. release 0.0.7 is getting shape.
* include/Device.h,
src/Device.cc: Removed bool Get_Any_Busy() in favor of public bool busy which is set in gparted_core.
This also fixed a small bug with incorrect mountdetection of logical partitions.
Also added a Reset() function to properly reset the contents of a device. to zero/empty .
* include/GParted_Core.h,
src/GParted_Core.cc: 'busyness' of a device is now determined in get_devices().
Renamed get_partitions() to set_device_partitions to reflect its proper function.
When a new partition is created to contain a copied filesystem the size is now properly set. This fixes
a very annoying bug which no one knew about except for me =) .
* src/Win_GParted.cc: use boolean busy from device instead of Get_Any_Busy() .
* Rewrote a large part of gparteds internal code. Filesystemssupport is now much more separated from the rest of gparted and
adding support for other filesystems should be a piece of cake now (hope that's true :P)
It still needs a lot of love, but the foundations are laid =)