* The Filesystemclasses: Changed 'bool Create( const Glib::ustring & device_path, const Partition & new_partition )'
to 'bool Create( const Partition & new_partition )'. Since i now use external tools for all filesystems, the partitionpath will suffice.
* 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.
* include/Device.h,
src/Device.cc,
src/GParted_Core.cc,
src/Win_GParted.cc: Removed the ugly Get_Highest_Logical_Busy() from Device and added a classvariable instead. This one is set in
GParted_Core and used wherever needed. I also removed Device::busy, and used the new variable to check if a device is busy.
* 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 ;)
* src/Dialog_Partition_Copy.cc,
src/Win_GParted.cc,
src/xfs.cc: xfs copy now uses xfsdump and xfsrestore. icw some hacks in the other 2 files, it's now possible to shrink an xfs partition
while doing the copy. Although i'd rather preffered 'real' (in place) resizing i figured it's better then nothing.
Also the sourcefilesystem is now checked before the actual copy is performed. If damaged beyond repair, the copy won't start.
* src/Dialog_Partition_Resize_Move.cc: removed commented code.
* 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)
* Refined checks for functionality a bit. e.g. even if a filesystem can't be read, it's still possible to grow it
(but shrinking gets disabled). Also removed that stupid grow_only flag from Utils.h and reordered Win_GParted::Set_Valid_Operations()
* 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.
* src/GParted_Core.cc: When ( ! deep_scan ) now only one device is scanned (first found one). Shaves off a couple of millisec from startuptime |-)
* src/Win_GParted.cc: Fixed small bug with removable devices and the devicemenu. Also fixed redundant calling of 2 functions.
* src/GParted_Core.cc: It seemed some kernels remove and re-add blockdevicepaths after the commit_to_os. This caused trouble at some points
where the path was required. I decided to sleep 1 sec after each scan. So rescanning devices will take 1 extra second per device :|
* src/Win_GParted.cc: fixed typo in string.
* Every devicescan now tests on beforehand if the kernel is able to reread the partitiontable. If the kernel is unable to do
this, i disallow most operations. This may seem weird and even a bad thing to do, but the fact is it protects
the innocent user from a lot of potential damage. Till the linuxkernel is able to reread partitiontables no matter what, this seems
to be the best option. Of course a dialog with information will popup whenever such a situation is encountered.
In a next release i might consider adding an 'advanced mode' for users who know what they're doing.
* src/Dialog_Partition_New.cc: selecting 'extended partition' twice caused a segfault. i cannot believe i didn't detect this bug earlier :| Fixed.
also made it possible to create an unformatted partition.
* src/GParted_Core.cc: backend support for creating partition without filesystem (unformatted).
* 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'
* src/Dialog_Partition_Resize_Move.cc: fixed small bug with resizing and lower limits.
* src/GParted_Core.cc: use ped_file_system_clobber before creating a filesystem on a partition.
* src/Win_GParted.cc: pasting is now only allowed if unallocated >= copied partition + cylindersize.
Instead of dividing length device by amount of cylinders i use heads * sectors/track to get cylindersize.
Changed device busy warning a bit to more decent english (adamw)
* src/ntfs.cc: readded '-Q' to mkntfs. The error about an 'unknown filesystem' was related to detection problems and not to
faulty creation of the filesystem. Should be solved anyway by implementing ped_file_system_clobber.
Also removed ntfsfix since it didn't do anything relevant. Instead i use ntfsresize, because this contains relevant checks (szaka)
* include/Utils.h,
src/GParted_Core.cc,
src/Partition.cc,
src/TreeView_Detail.cc,
src/VBox_VisualDisk.cc: marked some strings for translation ('unknown', 'used', 'unused') and replaced lowercase 'unallocated' with '---'.
* 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 )
* src/GParted_Core.cc: cosmetics
* src/reiserfs.cc: make use of real commands instead of their symlinks. fixed copy of reiserfs filsystem
(the new size wasn't reported correctly)
* 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 =)