Commit Graph

75 Commits

Author SHA1 Message Date
Phillip Susi 52a2a9b00a Reduce threading (#685740)
Win_Gparted and Dialog_Progress were creating threads to perform most
functions in the background.  Most of the time, the only reason the
threads blocked was to execute an external command.  The external command
execution has been changed to spawn the command asynchronously and wait
for completion with a nested main loop.  While waiting for completion,
the pipe output is captured via events.  In the future, this will allow
for it to be parsed in real time to obtain progress information.

Those tasks in GParted_Core that still block now spawn a background thread
and wait for it to complete with a nested main loop to avoid hanging the
gui.

Part of Bug #685740 - Refactor to use asynchronous command execution
2013-03-11 18:40:31 -06:00
Phillip Susi 124342e979 Use a full fledged nested main loop while waiting and pulsing progress bars (#685740)
Win_Gparted and Dialog_Progress were looping on Gtk::Main::events_pending()
and iteration() with usleeps in between.  Use a full mainloop instead and
a proper timeout to trigger pulsebar updates instead of usleeps.

Part of Bug 685740 - Refactor to use asynchronous command execution
2013-03-11 18:40:31 -06:00
Mike Fleetwood ca3d40d9c7 Rename *toggle_swap_mount* -> *toggle_busy*
Rename functions and a variable to use a generic term for the menu item
which changes the busy state of partitions now that it also activates
and deactivates LVM2 Physical Volumes as well as mounting and unmounting
file systems and enables and disables swap partitions.
2012-08-30 13:47:45 -06:00
Mike Fleetwood 69c8acce75 Add warning dialog when deleting non-empty LVM2 PVs (#670171)
When attempting to delete a non-empty LVM2 Physical Volume (one which is
still a member of a Volume Group) display a warning dialog which
includes the VG name and a list of the PV members to allow the user to
make an informed choice whether to go ahead and perform the deletion or
cancel to the operation.  This dialog is displayed when a partition
containing a PV is being deleted or being overwritten by being
reformatted or pasted into.

Bug #670171 - Add LVM PV read-write support
2012-08-30 13:47:45 -06:00
Mike Fleetwood 619bda5d8b Enable LVM2 VG activation / deactivation (#670171)
In the Partition menu enable activation / deactivation of the LVM2
Volume Group of which the Physical Volume is a member.

Bug #670171 - Add LVM PV read-write support
2012-08-30 13:47:45 -06:00
Rogier Goossens 9e96159bb2 Add support for setting UUID (#667278)
Add the ability to set a new random UUID on file systems that provide
the appropriate tools to perform this action.

Update the help manual to include this new functionality.  Also add
reference links to "setting a partition label" and "changing a
partition UUID" in the "copying and pasting a partition" section.

This patch does not include setting the UUID on an NTFS file system.

Bug #667278 - Add support for setting UUID

Bug #608308 - fix documentation - Copying and Pasting a Partition
2012-01-23 12:32:27 -07:00
Jérôme Dumesnil 03cdaed946 Improve Merge_Operations method parameters and checks 2011-10-13 11:26:16 -06:00
Jérôme Dumesnil b10349ae37 Merge overlapping operations (#438573)
When a new operation is added to operations list, check if a merge
is possible depending on the operation type:

    OPERATION_RESIZE_MOVE:  2 consecutive "resize" operations on the
                            same  partition
OPERATION_LABEL_PARTITION:  2 "label change" operations (need not be
                            consecutive) on the same partition
          OPERATION_CHECK:  2 "check" operations (need not be
                            consecutive) on the same partition
         OPERATION_FORMAT:  2 consecutive "format" operations on the
                            same partition

Closes Bug #438573 - Cancel out overlapping actions

Also fix a bug when copying partition using the Partition::Set(...)
method.  This method did not initialize "sectors_used" and
"sectors_unused" members.
2011-10-05 15:08:44 -06:00
Joan Lledó ef37bdb7de Added support to lost data recovery using gpart 2011-01-29 14:58:02 -07:00
Curtis Gedak f7cb37831a Add new method active_partitions_on_device_count 2010-08-10 13:01:40 -06:00
Curtis Gedak d5064dfe03 Move method to match header file
Also update copyright year
2010-08-10 13:01:40 -06:00
Curtis Gedak 44698448aa Add new method partition_in_operation_queue_count 2010-08-09 13:33:28 -06:00
Curtis Gedak 8cfb27b718 Cleanup file copyright entries
Restore copyright entries by original author to those of his last
known repository commit titled "released gparted-0.3.4 on
LarryT's request." on Feb 25, 2007.

Add my own copyright entries for files in which I changed source
code.  Files in which I only made spelling changes do not have my
copyright entry added.
2009-11-05 11:08:49 -07:00
Curtis Gedak c2d19a8ab4 Replace gnome-open with gtk_show_uri (#600046)
This change was performed to align with a GNOME goal:
http://live.gnome.org/GnomeGoals/RemoveGnomeOpenGnomeHelp

For backwards compatibility, the gnome-open command is used
when gtkmm < 2.14.0.
2009-11-03 10:27:35 -07:00
Curtis Gedak 0723c82f30 Update copyright year for Win_GParted class 2009-10-24 15:17:13 -06:00
Curtis Gedak 73471032c9 Improve feedback when creating or pasting partition (#579266)
Improve the feedback to the user when creating or pasting a
partition on a device with no partition table found.

Prior to this enhancement if a user tried to create or paste a
partition onto a device with no partition table found, GParted
would present the user with a Create Partition Table dialog.

When creating a new partition this could cause confusion for
users who were trying to format the disk.  The user could
mistakenly believe the choice of an MS-DOS file system was being
presented.

Similarly on a paste operation it could be confusing to be
presented with a dialog to create a partition table without any
explanation of why a partition table was suddenly required in the
midst of the paste operation.

Neither the new partition creation, nor the partition paste
actions were performed after the Create Partition Table dialog
was displayed.
2009-10-24 14:16:40 -06:00
Curtis Gedak 46ca7c74dc Added code hooks to prepare for GParted Manual
svn path=/trunk/; revision=876
2008-08-05 15:34:10 +00:00
Curtis Gedak 8d808c0b62 gparted-0.3.6 - code recreation from Source Forge
svn path=/trunk/; revision=810
2008-04-07 19:41:18 +00:00
Bart Hakvoort ef09ce0b97 added 'check' operation. The functionality was already there, but it was
* include/Makefile.am,
  include/Operation.h,
  include/Win_GParted.h,
  src/GParted_Core.cc,
  src/Makefile.am,
  src/Win_GParted.cc,
  include/OperationCheck.h (new),
  src/OperationCheck.cc (new): added 'check' operation. The
  functionality was already there, but it was not possible yet to
  activate it from the gui.
2006-11-26 14:27:16 +00:00
Bart Hakvoort 0693e7996f added popupmenu to operationslist and did some (higrelated) cleanups
* added popupmenu to operationslist and did some (higrelated) cleanups
2006-09-17 13:23:47 +00:00
Bart Hakvoort fc8014115e some small changes to make the GUI more consistent (#353140)
* include/Win_GParted.h,
  src/Win_GParted.cc: some small changes to make the GUI more
  consistent (#353140)
2006-09-16 11:27:05 +00:00
Bart Hakvoort ab8e1b586d replaced hardcoded menu and toolbar indices with variables. This is far
* include/Win_GParted.h,
  src/Win_GParted.cc: replaced hardcoded menu and toolbar indices with
  variables. This is far more flexible and reliable.
2006-08-20 16:51:18 +00:00
Bart Hakvoort b42982b884 construct operations in the activate*() functions instead of in
* include/Win_GParted.h,
  src/Win_GParted.cc: construct operations in the activate*()
  functions instead of in Add_Operation(). This approach allows for
  more customization of operations.
2006-08-01 20:19:17 +00:00
Bart Hakvoort 7ff0609962 made blocksize settable by the user.
* 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.
2006-05-27 19:51:55 +00:00
Bart Hakvoort 17e088553d disabled resizing of this dialog renamed 'Filesystems' to 'Features' in
* 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
2006-04-05 09:33:04 +00:00
Bart Hakvoort 321f0a3dd1 override Gtk::Window::on_show instead of connecting to signal_show() added
* include/Win_GParted.h,
  src/Win_GParted.cc: override Gtk::Window::on_show instead of
  connecting to signal_show()
* include/Dialog_Filesystems.h,
  src/Dialog_Filesystems.cc: added columns 'detect' and 'read'
2006-04-02 14:04:44 +00:00
Bart Hakvoort f5ea37e310 add 'flag management' (#330453)
* include/DialogManageFlags.h,
  include/GParted_Core.h,
  include/Makefile.am,
  include/Utils.h,
  include/Win_GParted.h,
  src/DialogManageFlags.cc,
  src/GParted_Core.cc,
  src/Makefile.am,
  src/Win_GParted.cc: add 'flag management' (#330453)
2006-03-31 10:49:27 +00:00
Bart Hakvoort 99cebc81d3 lots of cleanups in operationhandling. This resulted in cleaner/less code
* lots of cleanups in operationhandling. This resulted in cleaner/less
  code and the fixing of some longstanding issues.
2006-03-24 19:08:41 +00:00
Bart Hakvoort 863dc0581b added submenu with mountpoints to 'mount' in partitionmenu. (see also
* include/Win_GParted.h,
  src/Win_GParted.cc: added submenu with mountpoints to 'mount' in
  partitionmenu. (see also #330327)
2006-03-16 17:09:17 +00:00
Bart Hakvoort ff3dd1accc added basic support for mounting unmounted partitions on mountpoints found
* include/Win_GParted.h,
  src/Win_GParted.cc: added basic support for mounting unmounted
  partitions on mountpoints found in /etc/fstab
2006-03-09 19:37:50 +00:00
Bart Hakvoort 8777cbd125 removed the frame from the visualdiskwidget and changed some visual
* 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.
2006-03-09 13:12:44 +00:00
Bart Hakvoort 283b40b892 prevent crasher when visual_disks is empty. load devices at startup on
* 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.
2006-02-22 22:05:15 +00:00
Bart Hakvoort f6b01f342f added FIXME cleanups (mostly messagebox related) added some more
* include/Utils.h: added FIXME
* include/Win_GParted.h,
  src/Win_GParted.cc: cleanups (mostly messagebox related)
* src/GParted_Core.cc: added some more progressfeedback to create and
  resize
2006-02-17 21:18:07 +00:00
Bart Hakvoort 828d7a9e5b wrap mount/umount/swapon/swapoff instead of implementing it ourselves
* 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.
2006-02-15 16:05:26 +00:00
Bart Hakvoort 49b31334cf removed legend after discussion with usability guys
* removed legend after discussion with usability guys
2006-02-10 23:47:02 +00:00
Bart Hakvoort f36b01f138 finally fixed #169683!! ( party, party! :p ) cleanups
* src/TreeView_Detail.cc: finally fixed #169683!! ( party, party! :p )
* include/Win_GParted.h,
  src/Win_GParted.cc,
  src/main.cc: cleanups
2006-02-10 22:16:31 +00:00
Bart Hakvoort a764f10df7 it shouldn't be possible to remove an extended partition which contains
* 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.
2006-02-09 17:02:40 +00:00
Bart Hakvoort 1a46adf114 added support for activating swap (#392672)
* include/Win_GParted.h,
  src/Win_GParted.cc: added support for activating swap (#392672)
2006-02-08 20:36:18 +00:00
Bart Hakvoort 4161252b32 added support for commandline arguments (#329414)
* include/GParted_Core.h,
  include/Win_GParted.h,
  src/GParted_Core.cc,
  src/Win_GParted.cc,
  src/main.cc: added support for commandline arguments (#329414)
2006-02-02 13:50:37 +00:00
Bart Hakvoort 35593e5747 added mountpointcolumn (#304688) added submenu 'Devices' which allows one
* 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)
2006-02-02 10:59:44 +00:00
Bart Hakvoort 8a2624c3b8 cleanups
* include/Dialog_Partition_Info.h,
  include/Win_GParted.h,
  src/Win_GParted.cc: cleanups
2006-01-26 20:58:55 +00:00
Bart Hakvoort 591a8f3db0 :get_tmp_dir() instead of hardcoding it as '/tmp' :find_program_in_path()
* 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
2006-01-24 12:31:58 +00:00
Bart Hakvoort 97a9a5fa87 p
* 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
2006-01-19 19:15:15 +00:00
Bart Hakvoort 388ffffff0 added visual feedback when unmounting or deactivating swap. This can be
* 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.
2006-01-08 15:20:14 +00:00
Bart Hakvoort 1e6ad5884a removed separator in accordance to the HIG it's now possible to deactivate
* 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.
2006-01-07 21:23:09 +00:00
Bart Hakvoort fb672f5219 happy new year ;) fixed some alignment issues removed confirmationdialogs
* 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.
2006-01-02 15:18:29 +00:00
Bart Hakvoort 3a4b43e0ad replaced deprecated OptionMenu with ComboBox. also fixed some issues which
* include/Win_GParted.h,
  src/Win_GParted.cc: replaced deprecated OptionMenu with ComboBox.
  also fixed some issues which arised when no devices were detected.
2005-12-29 23:35:37 +00:00
Bart Hakvoort 7ef6e3e5c8 emit proper signals for several events. cleanups..
* include/TreeView_Detail.h,
  src/TreeView_Detail.cc,
  include/VBox_VisualDisk.h,
  src/VBox_VisualDisk.cc,
  include/Win_GParted.h,
  src/Win_GParted.cc: emit proper signals for several events.
* include/Partition.h,
  src/Partition.cc: cleanups..
2005-12-24 00:06:05 +00:00
Bart Hakvoort adc76a7686 overloaded operator == rewrote the graphical partitiondisplay. It now
* 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
2005-12-22 22:20:55 +00:00
Bart Hakvoort 9564cf841b added get_color_as_pixbuf() to create colored squares of custom sizes.
* 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.
2005-12-15 15:10:34 +00:00