* 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 ;)
* include/Dialog_Filesystems.h,
src/Dialog_Filesystems.cc: Replaced treestore with liststore. I decided i didn't need a treeview after all...
* src/Dialog_About.cc: Replaced "Gnome Partition Editor based on libparted" with "Gnome Partition Editor"
* src/xfs.cc: fixed small error with creation of xfs filesystems (adrighem)
* 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 dialog (accessable from 'gparted' menu) which shows supported operations for the various filesystems.
I plan to put some more info in it, like what is missing etc..
* 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. :)
* Replaced boolean 'resize' with 'shrink' and 'grow'. It seems some filesystems only support growing (e.g. xfs) so i need
two flags to control the behaviour of the filesystemclasses.
* 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.
* added MIN and MAX to filesystemstruct to set min. and max sizes of a filesystem. So instead of checking per filesystem
i now simply check the fs.MIN or fs.MAX. this results in less and cleaner code. Also this will come in handy when adding
support for new filesystems. (This also fixed several minor bugs with filesystemsizes and gained some improvement in resizer
performance)
* include/FileSystem.h,
src/FileSystem.cc: Execute_Command() now returns exit status of executed command
* the filesystemclasses: returnvalue (bool) is now set according to the return status of the command
* 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.
* 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/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 )
* 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 =)
* include/Operation.h,
src/Operation.cc: make use of reference arguments instead of return values in some functions.
Also fixed a small bug with deletion of a virtual (new) logical partition.
* include/VBox_VisualDisk.h,
src/VBox_VisualDisk.cc: logical filesystems weren't shown in the legend, fixed.
* src/Frame_Resizer_Base.cc: fixed small bug with custom cursors.
* src/TreeView_Detail.cc: removed obsolete, already commented code.
* src/Win_GParted.cc: make use of reference arguments instead of return values in some functions. (see Operation)
* instead of listing all partition in one list, logical partitions are now stored in a sublist in extended partition object.
This makes partitionhandling in gparted more natural and transparant. It also allowed me to clean up this ugly Operation class ;)
* configure.in: added checks for libuuid and libdl. Also refined libparted check a bit.
* include/Partition.h,
src/Partition.cc: removed Get_Color()
* include/Utils.h: added inline Glib::ustring Get_Color( const Glib::ustring & filesystem )
* src/Dialog_Partition_New.cc,
src/Win_GParted.cc: make use of Get_Color from Utils.h
* src/Device.cc: fixed a crasher with (at least) pl_PL locale.
* include/Dialog_Partition_Resize_Move.h,
src/Dialog_Partition_Resize_Move.cc: fixed some bugs with minimum size of resizable partition + some codecleanups.
* include/Win_GParted.h,
src/Win_GParted.cc: First load gui and then scan devices, this resulted in way faster startup and is more satisfactory (imho)
Also did some minor code cleanups and rearranged some functions needed for applying operations.
* src/Dialog_Progress.cc: few minor code cleanups.
* include/Operation.h,
src/Operation.h: minor (code) change in displaying errormessage. Made Apply_Resize_Move_Extended_To_Visual() a bit more
readable (and thus debugable). This whole class could still use a soft, caring hand though :P
* src/Device.cc: Unallocate space < 1MB wasn't filtered out. fixed.
* src/Partition.cc (Set_Used): Unused wasn't set properly. fixed.
* include/Device.h,
src/Device.cc: made 'deep-scan' optional in Read_Disk_Layout. Removed obsolete (already) commented function.
* include/Partition.h,
src/Partition.cc: Took used sectors out of Set() and added a Set_Used() function instead. Also added Reset() .
* src/Dialog_Partition_New.cc: minor change to make use of the new Set() in Partition..
* include/Win_GParted.h,
src/Win_GParted.cc: show pulsing progressbar while refreshing devices.