diff --git a/ChangeLog b/ChangeLog index 2c096c00..7fa20b08 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-07-29 Bart Hakvoort + + * fixed Pango markup problems in operationdetails + * restructured OperationDetail + * renamed some enums for improved readability of the source + 2006-07-23 Bart Hakvoort * include/FileSystem.h, diff --git a/include/Dialog_Progress.h b/include/Dialog_Progress.h index 3afeb8ce..fc9364c1 100644 --- a/include/Dialog_Progress.h +++ b/include/Dialog_Progress.h @@ -43,14 +43,14 @@ public: sigc::signal< bool, Operation * > signal_apply_operation ; private: - void update_operation_details( const Gtk::TreeRow & treerow, const OperationDetails & operation_details ) ; + void update_operation_details( const Gtk::TreeRow & treerow, const OperationDetail & operation_detail ) ; void on_signal_show() ; void on_expander_changed() ; void on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter) ; static void *static_pthread_apply_operation( void * p_dialog_progress ) ; void on_cancel() ; void on_save() ; - void echo_operation_details( const OperationDetails & operation_details, std::ofstream & out ) ; + void echo_operation_details( const OperationDetail & operation_detail, std::ofstream & out ) ; void on_response( int response_id ) ; bool on_delete_event( GdkEventAny * event ) ; @@ -75,7 +75,7 @@ private: Gtk::TreeModelColumn operation_description; Gtk::TreeModelColumn< Glib::RefPtr > operation_icon; Gtk::TreeModelColumn< Glib::RefPtr > status_icon; - Gtk::TreeModelColumn hidden_status ; + Gtk::TreeModelColumn hidden_status ; treeview_operations_Columns() { diff --git a/include/FileSystem.h b/include/FileSystem.h index 424165a5..e250b064 100644 --- a/include/FileSystem.h +++ b/include/FileSystem.h @@ -35,17 +35,17 @@ public: virtual FS get_filesystem_support() = 0 ; virtual void Set_Used_Sectors( Partition & partition ) = 0 ; - virtual bool Create( const Partition & new_partition, std::vector & operation_details ) = 0 ; + virtual bool Create( const Partition & new_partition, std::vector & operation_details ) = 0 ; virtual bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) = 0 ; virtual bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) = 0 ; - virtual bool Check_Repair( const Partition & partition, std::vector & operation_details ) = 0 ; + std::vector & operation_details ) = 0 ; + virtual bool Check_Repair( const Partition & partition, std::vector & operation_details ) = 0 ; protected: - int execute_command( const Glib::ustring & command, std::vector & operation_details ) ; + int execute_command( const Glib::ustring & command, std::vector & operation_details ) ; //those are used in several places.. Glib::ustring output, error ; diff --git a/include/GParted_Core.h b/include/GParted_Core.h index bc573402..2ad1387a 100644 --- a/include/GParted_Core.h +++ b/include/GParted_Core.h @@ -74,60 +74,60 @@ private: //operationstuff... bool create( const Device & device, Partition & new_partition, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool create_partition( Partition & new_partition, - std::vector & operation_details, + std::vector & operation_details, Sector min_size = 0 ) ; - bool create_filesystem( const Partition & partition, std::vector & operation_details ) ; + bool create_filesystem( const Partition & partition, std::vector & operation_details ) ; - bool format( const Partition & partition, std::vector & operation_details ) ; + bool format( const Partition & partition, std::vector & operation_details ) ; - bool Delete( const Partition & partition, std::vector & operation_details ) ; + bool Delete( const Partition & partition, std::vector & operation_details ) ; bool resize_move( const Device & device, const Partition & partition_old, Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool move( const Device & device, const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool move_filesystem( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool move_filesystem_using_gparted( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool resize_move_filesystem_using_libparted( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool resize( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_detail ) ; + std::vector & operation_detail ) ; bool resize_move_partition( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool resize_filesystem( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool maximize_filesystem( const Partition & partition, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool copy( const Partition & partition_src, Partition & partition_dest, Sector min_size, Sector block_size, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool copy_filesystem( const Partition & partition_src, const Partition & partition_dest, - std::vector & operation_details, + std::vector & operation_details, Sector block_size ) ; - bool check_repair( const Partition & partition, std::vector & operation_details ) ; + bool check_repair( const Partition & partition, std::vector & operation_details ) ; bool set_partition_type( const Partition & partition, - std::vector & operation_details ) ; + std::vector & operation_details ) ; bool copy_block( PedDevice * lp_device_src, PedDevice * lp_device_dst, @@ -137,7 +137,7 @@ private: Glib::ustring & error_message ) ; bool calculate_exact_geom( const Partition & partition_old, Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, Sector min_size = -1 ) ; void set_proper_filesystem( const FILESYSTEM & filesystem ) ; bool wait_for_node( const Glib::ustring & node ) ; diff --git a/include/Makefile.am b/include/Makefile.am index 31c97ac1..dac2e7e0 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -20,6 +20,7 @@ EXTRA_DIST = \ OperationCopy.h \ OperationCreate.h \ OperationDelete.h \ + OperationDetail.cc \ OperationFormat.h \ OperationResizeMove.h \ Partition.h \ diff --git a/include/Operation.h b/include/Operation.h index 5050e7fd..162a60ce 100644 --- a/include/Operation.h +++ b/include/Operation.h @@ -19,10 +19,12 @@ #define OPERATION #include "../include/Device.h" +#include "../include/OperationDetail.h" namespace GParted { - + //FIXME: enumvalues should get more descriptive names e.g. TYPE_DELETE... + //FIXME: stop using GParted:: in front of our own enums.. it's not necessary and clutters the code enum OperationType { DELETE = 0, CREATE = 1, @@ -31,38 +33,6 @@ enum OperationType { COPY = 4 }; -struct OperationDetails -{ - enum Status { - NONE = -1, - EXECUTE = 0, - SUCCES = 1, - ERROR = 2, - N_A = 3 - }; - - OperationDetails() - { - status = NONE ; - fraction = -1 ; - } - - OperationDetails( const Glib::ustring & description, Status status = EXECUTE ) - { - this ->description = description ; - this ->status = status ; - - fraction = -1 ; - } - - Glib::ustring description ; - Status status ; - double fraction ; - Glib::ustring progress_text ; - - std::vector sub_details ; -}; - class Operation { @@ -82,7 +52,7 @@ public: Glib::RefPtr icon ; Glib::ustring description ; - OperationDetails operation_details ; + OperationDetail operation_detail ; protected: int find_index_original( const std::vector & partitions ) ; diff --git a/include/OperationDetail.h b/include/OperationDetail.h new file mode 100644 index 00000000..fa7bdf83 --- /dev/null +++ b/include/OperationDetail.h @@ -0,0 +1,68 @@ +/* Copyright (C) 2004 Bart 'plors' Hakvoort + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef OPERATIONDETAIL +#define OPERATIONDETAIL + +#include +#include + +#include + +namespace GParted +{ + +enum OperationDetailStatus { + STATUS_NONE = 0, + STATUS_EXECUTE = 1, + STATUS_SUCCES = 2, + STATUS_ERROR = 3, + STATUS_N_A = 4 +}; + +enum Font { + FONT_NORMAL = 0, + FONT_BOLD = 1, + FONT_ITALIC = 2, + FONT_BOLD_ITALIC = 3 +} ; + +class OperationDetail +{ +public: + OperationDetail() ; + OperationDetail( const Glib::ustring & description, + OperationDetailStatus status = STATUS_EXECUTE, + Font font = FONT_NORMAL ) ; + void set_description( const Glib::ustring & description, Font font = FONT_NORMAL ) ; + Glib::ustring get_description() const ; + + OperationDetailStatus status ; + double fraction ; + Glib::ustring progress_text ; + + std::vector sub_details ; + +private: + Glib::ustring description ; +}; + +} //GParted + + +#endif //OPERATIONDETAIL + diff --git a/include/ext2.h b/include/ext2.h index f3920c72..07b0c8f1 100644 --- a/include/ext2.h +++ b/include/ext2.h @@ -27,16 +27,16 @@ namespace GParted class ext2 : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/ext3.h b/include/ext3.h index 71193a49..52de7a8c 100644 --- a/include/ext3.h +++ b/include/ext3.h @@ -27,16 +27,16 @@ namespace GParted class ext3 : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; diff --git a/include/fat16.h b/include/fat16.h index bf08d4db..b98ccc40 100644 --- a/include/fat16.h +++ b/include/fat16.h @@ -27,16 +27,16 @@ namespace GParted class fat16 : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/fat32.h b/include/fat32.h index 6160f214..531b448b 100644 --- a/include/fat32.h +++ b/include/fat32.h @@ -27,16 +27,16 @@ namespace GParted class fat32 : public FileSystem { public: - FS get_filesystem_support( ); + FS get_filesystem_support(); void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/hfs.h b/include/hfs.h index 97cc5a2a..981485cc 100644 --- a/include/hfs.h +++ b/include/hfs.h @@ -27,16 +27,16 @@ namespace GParted class hfs : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/hfsplus.h b/include/hfsplus.h index 3cc196dd..e2d3e4a2 100644 --- a/include/hfsplus.h +++ b/include/hfsplus.h @@ -27,16 +27,16 @@ namespace GParted class hfsplus : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/jfs.h b/include/jfs.h index 28841a4f..2f5e6196 100644 --- a/include/jfs.h +++ b/include/jfs.h @@ -27,16 +27,16 @@ namespace GParted class jfs : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/linux_swap.h b/include/linux_swap.h index 6dd2cd12..c10dce12 100644 --- a/include/linux_swap.h +++ b/include/linux_swap.h @@ -27,16 +27,16 @@ namespace GParted class linux_swap : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/ntfs.h b/include/ntfs.h index 4d4a707d..b5a11ff4 100644 --- a/include/ntfs.h +++ b/include/ntfs.h @@ -27,16 +27,16 @@ namespace GParted class ntfs : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/reiser4.h b/include/reiser4.h index 0cbd19d1..2b4fce1a 100644 --- a/include/reiser4.h +++ b/include/reiser4.h @@ -27,16 +27,16 @@ namespace GParted class reiser4 : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/reiserfs.h b/include/reiserfs.h index 6c5975ef..7387d878 100644 --- a/include/reiserfs.h +++ b/include/reiserfs.h @@ -27,16 +27,16 @@ namespace GParted class reiserfs : public FileSystem { public: - FS get_filesystem_support( ) ; + FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/ufs.h b/include/ufs.h index c05370c5..e0157dcc 100644 --- a/include/ufs.h +++ b/include/ufs.h @@ -29,14 +29,14 @@ class ufs : public FileSystem public: FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/include/xfs.h b/include/xfs.h index 34f4458a..b191aee9 100644 --- a/include/xfs.h +++ b/include/xfs.h @@ -29,14 +29,14 @@ class xfs : public FileSystem public: FS get_filesystem_support() ; void Set_Used_Sectors( Partition & partition ) ; - bool Create( const Partition & new_partition, std::vector & operation_details ) ; + bool Create( const Partition & new_partition, std::vector & operation_details ) ; bool Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition = false ) ; bool Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) ; - bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; + std::vector & operation_details ) ; + bool Check_Repair( const Partition & partition, std::vector & operation_details ) ; }; } //GParted diff --git a/src/Dialog_Progress.cc b/src/Dialog_Progress.cc index 26bf1575..5a051e56 100644 --- a/src/Dialog_Progress.cc +++ b/src/Dialog_Progress.cc @@ -75,13 +75,13 @@ Dialog_Progress::Dialog_Progress( const std::vector & operations ) //fill 'er up for ( unsigned int t = 0 ; t < operations .size() ; t++ ) { - this ->operations[ t ] ->operation_details .description = "" + operations[ t ] ->description + "" ; + this ->operations[ t ] ->operation_detail .set_description( operations[ t ] ->description, FONT_BOLD ) ; treerow = *( treestore_operations ->append() ); treerow[ treeview_operations_columns .operation_icon ] = operations[ t ] ->icon ; treerow[ treeview_operations_columns .operation_description ] = - this ->operations[ t ] ->operation_details .description ; - treerow[ treeview_operations_columns .hidden_status ] = OperationDetails::NONE ; + this ->operations[ t ] ->operation_detail .get_description() ; + treerow[ treeview_operations_columns .hidden_status ] = STATUS_NONE ; } treeview_operations .get_column( 1 ) ->set_expand( true ) ; @@ -109,45 +109,46 @@ Dialog_Progress::Dialog_Progress( const std::vector & operations ) } void Dialog_Progress::update_operation_details( const Gtk::TreeRow & treerow, - const OperationDetails & operation_details ) + const OperationDetail & operation_detail ) { //append new rows (if any) - for ( unsigned int t = treerow .children() .size() ; t < operation_details .sub_details .size() ; t++ ) + for ( unsigned int t = treerow .children() .size() ; t < operation_detail .sub_details .size() ; t++ ) { Gtk::TreeRow treerow_child = *( treestore_operations ->append( treerow .children() ) ) ; + //FIXME, consider adding a textwidget to the tree for storing the text. simply storing text directly in the tree + //doesn't work with HUGE amounts of text. + treerow_child[ treeview_operations_columns .operation_description ] = + operation_detail .sub_details[ t ] .get_description() ; - treerow_child[ treeview_operations_columns .operation_description ] = - operation_details .sub_details[ t ] .description ; - - treerow_child[ treeview_operations_columns .hidden_status ] = OperationDetails::NONE ; + treerow_child[ treeview_operations_columns .hidden_status ] = STATUS_NONE ; } //check status and update if necessary - if ( operation_details .status != treerow[ treeview_operations_columns .hidden_status ] ) + if ( operation_detail .status != treerow[ treeview_operations_columns .hidden_status ] ) { - treerow[ treeview_operations_columns .hidden_status ] = operation_details .status ; + treerow[ treeview_operations_columns .hidden_status ] = operation_detail .status ; - switch ( operation_details .status ) + switch ( operation_detail .status ) { - case OperationDetails::EXECUTE: + case STATUS_EXECUTE: treerow[ treeview_operations_columns .status_icon ] = icon_execute ; break ; - case OperationDetails::SUCCES: + case STATUS_SUCCES: treerow[ treeview_operations_columns .status_icon ] = icon_succes ; break ; - case OperationDetails::ERROR: + case STATUS_ERROR: treerow[ treeview_operations_columns .status_icon ] = icon_error ; break ; - case OperationDetails::N_A: + case STATUS_N_A: treerow[ treeview_operations_columns .status_icon ] = icon_n_a ; break ; default : - treerow[ treeview_operations_columns .hidden_status ] = OperationDetails::NONE ; + treerow[ treeview_operations_columns .hidden_status ] = STATUS_NONE ; break ; } } @@ -156,22 +157,22 @@ void Dialog_Progress::update_operation_details( const Gtk::TreeRow & treerow, //FIXME: it feels quite inefficient to do this for every row, maybe we should add a new status which indicates //this row may be changed and should be checked...(otoh, if/when we start displaying the output of the command //in realtime almost every row is going to need this and such a status might become useless...) - if ( operation_details .description != treerow[ treeview_operations_columns .operation_description ] ) - treerow[ treeview_operations_columns .operation_description ] = operation_details .description ; + if ( operation_detail .get_description() != treerow[ treeview_operations_columns .operation_description ] ) + treerow[ treeview_operations_columns .operation_description ] = operation_detail .get_description() ; - if ( operation_details .fraction >= 0 ) + if ( operation_detail .fraction >= 0 ) { pulse = false ; - progressbar_current .set_fraction( operation_details .fraction ) ; - progressbar_current .set_text( operation_details .progress_text ) ; + progressbar_current .set_fraction( operation_detail .fraction ) ; + progressbar_current .set_text( operation_detail .progress_text ) ; } else pulse = true ; //and update the children.. (since sometimes freshly added treerows are not appended yet to the children() list //we also check if t < treerow .children() .size()) - for ( unsigned int t = 0 ; t < operation_details .sub_details .size() && t < treerow .children() .size() ; t++ ) - update_operation_details( treerow .children()[ t ], operation_details .sub_details[ t ] ) ; + for ( unsigned int t = 0 ; t < operation_detail .sub_details .size() && t < treerow .children() .size() ; t++ ) + update_operation_details( treerow .children()[ t ], operation_detail .sub_details[ t ] ) ; } void Dialog_Progress::on_signal_show() @@ -186,8 +187,8 @@ void Dialog_Progress::on_signal_show() treerow = treestore_operations ->children()[ t ] ; //set status to 'execute' - operations[ t ] ->operation_details .status = OperationDetails::EXECUTE ; - update_operation_details( treerow, operations[ t ] ->operation_details ) ; + operations[ t ] ->operation_detail .status = STATUS_EXECUTE ; + update_operation_details( treerow, operations[ t ] ->operation_detail ) ; //set focus... treeview_operations .set_cursor( static_cast( treerow ) ) ; @@ -201,11 +202,11 @@ void Dialog_Progress::on_signal_show() { if ( ms >= 200 ) { - update_operation_details( treerow, operations[ t ] ->operation_details ) ; - if ( operations[ t ] ->operation_details .sub_details .size() > 0 ) + update_operation_details( treerow, operations[ t ] ->operation_detail ) ; + if ( operations[ t ] ->operation_detail .sub_details .size() > 0 ) label_current_sub .set_markup( "" + - operations[ t ] ->operation_details .sub_details .back() .description + + operations[ t ] ->operation_detail .sub_details .back() .get_description() + "\n" ) ; ms = 0 ; } @@ -220,9 +221,8 @@ void Dialog_Progress::on_signal_show() } //set status (succes/error) for this operation - operations[ t ] ->operation_details .status = - succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; - update_operation_details( treerow, operations[ t ] ->operation_details ) ; + operations[ t ] ->operation_detail .status = succes ? STATUS_SUCCES : STATUS_ERROR ; + update_operation_details( treerow, operations[ t ] ->operation_detail ) ; } //add save button @@ -283,7 +283,7 @@ void Dialog_Progress::on_expander_changed() } void Dialog_Progress::on_cell_data_description( Gtk::CellRenderer * renderer, const Gtk::TreeModel::iterator & iter ) -{//FIXME: markup tags in the text should be escaped (e.g. will interfere with the real tags) +{ dynamic_cast( renderer ) ->property_markup() = static_cast( *iter )[ treeview_operations_columns .operation_description ] ; } @@ -340,7 +340,7 @@ void Dialog_Progress::on_save() out << "GParted " << VERSION << "

" << std::endl ; for ( unsigned int t = 0 ; t < operations .size() ; t++ ) { - echo_operation_details( operations[ t ] ->operation_details, out ) ; + echo_operation_details( operations[ t ] ->operation_detail, out ) ; out << "
========================================

" << std::endl ; } @@ -349,12 +349,12 @@ void Dialog_Progress::on_save() } } -void Dialog_Progress::echo_operation_details( const OperationDetails & operation_details, std::ofstream & out ) +void Dialog_Progress::echo_operation_details( const OperationDetail & operation_detail, std::ofstream & out ) { //replace '\n' with '
' - Glib::ustring temp = operation_details .description ; + Glib::ustring temp = operation_detail .get_description() ; for ( unsigned int index = temp .find( "\n" ) ; index < temp .length() ; index = temp .find( "\n" ) ) - temp .replace( index, 1, "
" ) ; + temp .replace( index, 1, "
" ) ; //and export everything to some kind of html... out << "" << std::endl ; @@ -363,18 +363,18 @@ void Dialog_Progress::echo_operation_details( const OperationDetails & operation out << temp ; //show status... - if ( operation_details .status != OperationDetails::NONE ) + if ( operation_detail .status != STATUS_NONE ) { out << "    " ; - switch ( operation_details .status ) + switch ( operation_detail .status ) { - case OperationDetails::EXECUTE: + case STATUS_EXECUTE: out << "( EXECUTING )" ; break ; - case OperationDetails::SUCCES: + case STATUS_SUCCES: out << "( SUCCES )" ; break ; - case OperationDetails::ERROR: + case STATUS_ERROR: out << "( ERROR )" ; break ; @@ -387,14 +387,14 @@ void Dialog_Progress::echo_operation_details( const OperationDetails & operation out << "" << std::endl ; out << "" << std::endl ; - if ( operation_details .sub_details. size() ) + if ( operation_detail .sub_details. size() ) { out << "" << std::endl ; out << "" << std::endl ; out << "" << std::endl ; out << "" << std::endl ; diff --git a/src/FileSystem.cc b/src/FileSystem.cc index acddbf25..76a650d9 100644 --- a/src/FileSystem.cc +++ b/src/FileSystem.cc @@ -25,19 +25,17 @@ FileSystem::FileSystem() { } -int FileSystem::execute_command( const Glib::ustring & command, std::vector & operation_details ) +int FileSystem::execute_command( const Glib::ustring & command, std::vector & operation_details ) { - operation_details .push_back( OperationDetails( "" + command + "", OperationDetails::NONE ) ) ; + operation_details .push_back( OperationDetail( command, STATUS_NONE, FONT_BOLD_ITALIC ) ) ; int exit_status = Utils::execute_command( command, output, error ) ; if ( ! output .empty() ) - operation_details .back() .sub_details .push_back( - OperationDetails( "" + output + "", OperationDetails::NONE ) ) ; + operation_details .back() .sub_details .push_back( OperationDetail( output, STATUS_NONE, FONT_ITALIC ) ) ; if ( ! error .empty() ) - operation_details .back() .sub_details .push_back( - OperationDetails( "" + error + "", OperationDetails::NONE ) ) ; + operation_details .back() .sub_details .push_back( OperationDetail( error, STATUS_NONE, FONT_ITALIC ) ) ; return exit_status ; } diff --git a/src/GParted_Core.cc b/src/GParted_Core.cc index 9da987b3..6a4cb984 100644 --- a/src/GParted_Core.cc +++ b/src/GParted_Core.cc @@ -286,25 +286,25 @@ bool GParted_Core::apply_operation_to_disk( Operation * operation ) switch ( operation ->type ) { case DELETE: - return Delete( operation ->partition_original, operation ->operation_details .sub_details ) ; + return Delete( operation ->partition_original, operation ->operation_detail .sub_details ) ; case CREATE: return create( operation ->device, operation ->partition_new, - operation ->operation_details .sub_details ) ; + operation ->operation_detail .sub_details ) ; case RESIZE_MOVE: return resize_move( operation ->device, operation ->partition_original, operation ->partition_new, - operation ->operation_details .sub_details ) ; + operation ->operation_detail .sub_details ) ; case FORMAT: - return format( operation ->partition_new, operation ->operation_details .sub_details ) ; + return format( operation ->partition_new, operation ->operation_detail .sub_details ) ; case COPY: operation ->partition_new .add_path( operation ->partition_original .get_path(), true ) ; return copy( static_cast( operation ) ->partition_copied, operation ->partition_new, static_cast( operation ) ->partition_copied .get_length(), static_cast( operation ) ->block_size, - operation ->operation_details .sub_details ) ; + operation ->operation_detail .sub_details ) ; } return false ; @@ -881,7 +881,7 @@ void GParted_Core::set_flags( Partition & partition ) bool GParted_Core::create( const Device & device, Partition & new_partition, - std::vector & operation_details ) + std::vector & operation_details ) { if ( new_partition .type == GParted::TYPE_EXTENDED ) @@ -901,10 +901,10 @@ bool GParted_Core::create( const Device & device, } bool GParted_Core::create_partition( Partition & new_partition, - std::vector & operation_details, + std::vector & operation_details, Sector min_size ) { - operation_details .push_back( OperationDetails( _("create empty partition") ) ) ; + operation_details .push_back( OperationDetail( _("create empty partition") ) ) ; new_partition .partition_number = 0 ; ped_error .clear() ; @@ -972,16 +972,15 @@ bool GParted_Core::create_partition( Partition & new_partition, new_partition .sector_start = lp_partition ->geom .start ; new_partition .sector_end = lp_partition ->geom .end ; - operation_details .back() .sub_details .push_back( OperationDetails( - "" + + operation_details .back() .sub_details .push_back( OperationDetail( String::ucompose( _("path: %1"), new_partition .get_path() ) + "\n" + String::ucompose( _("start: %1"), new_partition .sector_start ) + "\n" + String::ucompose( _("end: %1"), new_partition .sector_end ) + "\n" + String::ucompose( _("size: %1 (%2)"), new_partition .get_length(), - Utils::format_size( new_partition .get_length() ) ) + - "", - OperationDetails::NONE ) ) ; + Utils::format_size( new_partition .get_length() ) ), + STATUS_NONE, + FONT_ITALIC ) ) ; } ped_constraint_destroy( constraint ); @@ -1002,7 +1001,7 @@ bool GParted_Core::create_partition( Partition & new_partition, ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return true ; } @@ -1010,17 +1009,17 @@ bool GParted_Core::create_partition( Partition & new_partition, { if ( ! ped_error .empty() ) operation_details .back() .sub_details .push_back( - OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return false ; } } -bool GParted_Core::create_filesystem( const Partition & partition, std::vector & operation_details ) +bool GParted_Core::create_filesystem( const Partition & partition, std::vector & operation_details ) { - operation_details .push_back( OperationDetails( String::ucompose( + operation_details .push_back( OperationDetail( String::ucompose( _("create new %1 filesystem"), Utils::get_filesystem_string( partition .filesystem ) ) ) ) ; @@ -1028,17 +1027,17 @@ bool GParted_Core::create_filesystem( const Partition & partition, std::vectorCreate( partition, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return false ; } } -bool GParted_Core::format( const Partition & partition, std::vector & operation_details ) +bool GParted_Core::format( const Partition & partition, std::vector & operation_details ) { //remove all filesystem signatures... erase_filesystem_signatures( partition ) ; @@ -1047,7 +1046,7 @@ bool GParted_Core::format( const Partition & partition, std::vector & operation_details ) +bool GParted_Core::Delete( const Partition & partition, std::vector & operation_details ) { bool return_value = false ; @@ -1072,7 +1071,7 @@ bool GParted_Core::Delete( const Partition & partition, std::vector & operation_details ) + std::vector & operation_details ) { if ( calculate_exact_geom( partition_old, partition_new, operation_details ) ) { @@ -1116,7 +1115,7 @@ bool GParted_Core::resize_move( const Device & device, bool GParted_Core::move( const Device & device, const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { return check_repair( partition_old, operation_details ) && move_filesystem( partition_old, partition_new, operation_details ) && @@ -1129,23 +1128,21 @@ bool GParted_Core::move( const Device & device, bool GParted_Core::move_filesystem( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { if ( partition_new .sector_start < partition_old .sector_start ) - operation_details .push_back( OperationDetails( _("move filesystem to the left") ) ) ; + operation_details .push_back( OperationDetail( _("move filesystem to the left") ) ) ; else if ( partition_new .sector_start > partition_old .sector_start ) - operation_details .push_back( OperationDetails( _("move filesystem to the right") ) ) ; + operation_details .push_back( OperationDetail( _("move filesystem to the right") ) ) ; else { - operation_details .push_back( OperationDetails( _("move filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("move filesystem") ) ) ; operation_details .back() .sub_details .push_back( - OperationDetails( - Glib::ustring( "" ) + - _("new and old filesystem have the same positition. skipping this operation") + - Glib::ustring( "" ), - OperationDetails::NONE ) ) ; + OperationDetail( _("new and old filesystem have the same positition. skipping this operation"), + STATUS_NONE, + FONT_ITALIC ) ) ; - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return true ; } @@ -1168,20 +1165,19 @@ bool GParted_Core::move_filesystem( const Partition & partition_old, break ; } - operation_details .back() .status = succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = succes ? STATUS_SUCCES : STATUS_ERROR ; return succes ; } bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { - operation_details .push_back( - OperationDetails( _("using internal algorithm"), OperationDetails::NONE ) ) ; + operation_details .push_back( OperationDetail( _("using internal algorithm"), STATUS_NONE ) ) ; - bool succes = true ; //FIXME: default to true is too dangerous, just image opening the device fails and this function - //return true. then the partition will be moved and the result would be a disaster. + bool succes = true ; //FIXME: default to true is too dangerous, just imagine opening the device fails and this function + //returns true. then the partition will be moved and the result would be a disaster. if ( open_device_and_disk( partition_old .device_path ) ) { //do the move.. @@ -1193,8 +1189,7 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol ped_device_sync( lp_device ) ; //add an empty sub which we will constantly update in the loop - operation_details .push_back( - OperationDetails( "", OperationDetails::NONE ) ) ; + operation_details .push_back( OperationDetail( "", STATUS_NONE ) ) ; if ( partition_new .sector_start < partition_old .sector_start ) //move to the left { @@ -1219,8 +1214,9 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol Utils::format_size( t +1 ), Utils::format_size( partition_old .get_length() ) ) ; - operation_details .back() .description = - "" + operation_details .back() .progress_text + "" ; + operation_details .back() .set_description( + operation_details .back() .progress_text, + FONT_ITALIC ) ; operation_details .back() .fraction = t / static_cast( partition_old .get_length() ) ; @@ -1265,8 +1261,9 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol Utils::format_size( t +1 ), Utils::format_size( partition_old .get_length() ) ) ; - operation_details .back() .description = - "" + operation_details .back() .progress_text + "" ; + operation_details .back() .set_description( + operation_details .back() .progress_text, + FONT_ITALIC ) ; operation_details .back() .fraction = t / static_cast( partition_old .get_length() ) ; @@ -1289,12 +1286,11 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol //final description //FIXME: this description doesn't have to be correct, in case of an error we should display how //much data really has been moved... - operation_details .back() .description = - "" + + operation_details .back() .set_description( String::ucompose( _("%1 of %2 moved"), Utils::format_size( partition_old .get_length() ), - Utils::format_size( partition_old .get_length() ) ) + - "" ; + Utils::format_size( partition_old .get_length() ) ), + FONT_ITALIC ) ; //reset fraction to -1 to make room for a new one (or a pulsebar) operation_details .back() .fraction = -1 ; @@ -1303,11 +1299,11 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol { if ( ! error_message .empty() ) operation_details .push_back( - OperationDetails( error_message, OperationDetails::NONE ) ) ; + OperationDetail( error_message, STATUS_NONE, FONT_ITALIC ) ) ; if ( ! ped_error .empty() ) operation_details .push_back( - OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; } } @@ -1319,9 +1315,9 @@ bool GParted_Core::move_filesystem_using_gparted( const Partition & partition_ol bool GParted_Core::resize_move_filesystem_using_libparted( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { - operation_details .push_back( OperationDetails( _("using libparted"), OperationDetails::NONE ) ) ; + operation_details .push_back( OperationDetail( _("using libparted"), STATUS_NONE ) ) ; bool return_value = false ; if ( open_device_and_disk( partition_old .device_path ) ) @@ -1352,14 +1348,14 @@ bool GParted_Core::resize_move_filesystem_using_libparted( const Partition & par } if ( ! return_value && ! ped_error .empty() ) - operation_details .push_back( OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + operation_details .push_back( OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; return return_value ; } bool GParted_Core::resize( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { bool succes = false ; if ( check_repair( partition_new, operation_details ) ) @@ -1391,7 +1387,7 @@ bool GParted_Core::resize( const Partition & partition_old, bool GParted_Core::resize_move_partition( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details ) + std::vector & operation_details ) { //i'm not too happy with this, but i think it is the correct way from a i18n POV enum Action @@ -1457,27 +1453,24 @@ bool GParted_Core::resize_move_partition( const Partition & partition_old, Utils::format_size( partition_old .get_length() ), Utils::format_size( partition_new .get_length() ) ) ; - operation_details .push_back( OperationDetails( description ) ) ; + operation_details .push_back( OperationDetail( description ) ) ; if ( action == NONE ) operation_details .back() .sub_details .push_back( - OperationDetails( - Glib::ustring( "" ) + - _("new and old partition have the same size and positition. continuing anyway") + - Glib::ustring( "" ), - OperationDetails::NONE ) ) ; + OperationDetail( _("new and old partition have the same size and positition. continuing anyway"), + STATUS_NONE, + FONT_ITALIC ) ) ; operation_details .back() .sub_details .push_back( - OperationDetails( - "" + + OperationDetail( String::ucompose( _("old start: %1"), partition_old .sector_start ) + "\n" + String::ucompose( _("old end: %1"), partition_old .sector_end ) + "\n" + String::ucompose( _("old size: %1 (%2)"), partition_old .get_length(), - Utils::format_size( partition_old .get_length() ) ) + - "", - OperationDetails::NONE ) ) ; + Utils::format_size( partition_old .get_length() ) ), + STATUS_NONE, + FONT_ITALIC ) ) ; //finally the actual resize/move bool return_value = false ; @@ -1521,29 +1514,28 @@ bool GParted_Core::resize_move_partition( const Partition & partition_old, if ( return_value ) { operation_details .back() .sub_details .push_back( - OperationDetails( - "" + + OperationDetail( String::ucompose( _("new start: %1"), lp_partition ->geom .start ) + "\n" + String::ucompose( _("new end: %1"), lp_partition ->geom .end ) + "\n" + String::ucompose( _("new size: %1 (%2)"), lp_partition ->geom .length, - Utils::format_size( lp_partition ->geom .length ) ) + - "", - OperationDetails::NONE ) ) ; + Utils::format_size( lp_partition ->geom .length ) ), + STATUS_NONE, + FONT_ITALIC ) ) ; } else if ( ! ped_error .empty() ) operation_details .back() .sub_details .push_back( - OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; if ( partition_old .type == GParted::TYPE_EXTENDED ) { - operation_details .back() .status = return_value ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = return_value ? STATUS_SUCCES : STATUS_ERROR ; return return_value ; } else { return_value &= wait_for_node( partition_new .get_path() ) ; - operation_details .back() .status = return_value ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = return_value ? STATUS_SUCCES : STATUS_ERROR ; return return_value ; } @@ -1551,7 +1543,7 @@ bool GParted_Core::resize_move_partition( const Partition & partition_old, bool GParted_Core::resize_filesystem( const Partition & partition_old, const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { //by default 'grow' to accomodate expand_filesystem() @@ -1561,20 +1553,19 @@ bool GParted_Core::resize_filesystem( const Partition & partition_old, { if ( partition_new .get_length() < partition_old .get_length() ) { - operation_details .push_back( OperationDetails( _("shrink filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("shrink filesystem") ) ) ; action = get_fs( partition_old .filesystem ) .shrink ; } else if ( partition_new .get_length() > partition_old .get_length() ) - operation_details .push_back( OperationDetails( _("grow filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("grow filesystem") ) ) ; else { - operation_details .push_back( OperationDetails( _("resize filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("resize filesystem") ) ) ; operation_details .back() .sub_details .push_back( - OperationDetails( - Glib::ustring( "" ) + - _("new and old filesystem have the same size and positition. continuing anyway") + - Glib::ustring( "" ), - OperationDetails::NONE ) ) ; + OperationDetail( + _("new and old filesystem have the same size and positition. continuing anyway"), + STATUS_NONE, + FONT_ITALIC ) ) ; } } @@ -1599,25 +1590,23 @@ bool GParted_Core::resize_filesystem( const Partition & partition_old, break ; } - operation_details .back() .status = succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = succes ? STATUS_SUCCES : STATUS_ERROR ; return succes ; } bool GParted_Core::maximize_filesystem( const Partition & partition, - std::vector & operation_details ) + std::vector & operation_details ) { - operation_details .push_back( OperationDetails( _("grow filesystem to fill the partition") ) ) ; + operation_details .push_back( OperationDetail( _("grow filesystem to fill the partition") ) ) ; if ( get_fs( partition .filesystem ) .grow == GParted::FS::NONE ) { operation_details .back() .sub_details .push_back( - OperationDetails( - Glib::ustring( "" ) + - _("growing is not available for this filesystem") + - Glib::ustring( "" ), - OperationDetails::NONE ) ) ; + OperationDetail( _("growing is not available for this filesystem"), + STATUS_NONE, + FONT_ITALIC ) ) ; - operation_details .back() .status = OperationDetails::N_A ; + operation_details .back() .status = STATUS_N_A ; return true ; } @@ -1628,7 +1617,7 @@ bool GParted_Core::copy( const Partition & partition_src, Partition & partition_dest, Sector min_size, Sector block_size, - std::vector & operation_details ) + std::vector & operation_details ) { if ( check_repair( partition_src, operation_details ) ) { @@ -1638,7 +1627,7 @@ bool GParted_Core::copy( const Partition & partition_src, if ( succes && set_partition_type( partition_dest, operation_details ) ) { - operation_details .push_back( OperationDetails( + operation_details .push_back( OperationDetail( String::ucompose( _("copy filesystem of %1 to %2"), partition_src .get_path(), partition_dest .get_path() ) ) ) ; @@ -1670,7 +1659,7 @@ bool GParted_Core::copy( const Partition & partition_src, break ; } - operation_details .back() .status = succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = succes ? STATUS_SUCCES : STATUS_ERROR ; return ( succes && check_repair( partition_dest, operation_details ) && @@ -1684,14 +1673,15 @@ bool GParted_Core::copy( const Partition & partition_src, bool GParted_Core::copy_filesystem( const Partition & partition_src, const Partition & partition_dest, - std::vector & operation_details, + std::vector & operation_details, Sector block_size ) { - operation_details .back() .sub_details .push_back( OperationDetails( - "" + String::ucompose( _("Use a blocksize of %1 (%2 sectors)"), - Utils::format_size( block_size ), - block_size ) + "", - OperationDetails::NONE ) ) ; + operation_details .back() .sub_details .push_back( OperationDetail( + String::ucompose( _("Use a blocksize of %1 (%2 sectors)"), + Utils::format_size( block_size ), + block_size ), + STATUS_NONE, + FONT_ITALIC ) ) ; bool succes = false ; PedDevice *lp_device_src, *lp_device_dest ; @@ -1709,8 +1699,7 @@ bool GParted_Core::copy_filesystem( const Partition & partition_src, ped_device_sync( lp_device_dest ) ; //add an empty sub which we will constantly update in the loop - operation_details .back() .sub_details .push_back( - OperationDetails( "", OperationDetails::NONE ) ) ; + operation_details .back() .sub_details .push_back( OperationDetail( "", STATUS_NONE ) ) ; Glib::ustring error_message ; Sector t = 0 ; @@ -1733,8 +1722,9 @@ bool GParted_Core::copy_filesystem( const Partition & partition_src, Utils::format_size( t +1 ), Utils::format_size( partition_src .get_length() ) ) ; - operation_details .back() .sub_details .back() .description = - "" + operation_details .back() .sub_details .back() .progress_text + "" ; + operation_details .back() .sub_details .back() .set_description( + operation_details .back() .sub_details .back() .progress_text, + FONT_ITALIC ) ; operation_details .back() .sub_details .back() .fraction = t / static_cast( partition_src .get_length() ) ; @@ -1752,12 +1742,12 @@ bool GParted_Core::copy_filesystem( const Partition & partition_src, t += last_sectors ; //final description - operation_details .back() .sub_details .back() .description = - "" + + operation_details .back() .sub_details .back() .set_description( String::ucompose( _("%1 of %2 copied"), Utils::format_size( t +1 ), - Utils::format_size( partition_src .get_length() ) ) + - "" ; + Utils::format_size( partition_src .get_length() ) ), + FONT_ITALIC ) ; + //reset fraction to -1 to make room for a new one (or a pulsebar) operation_details .back() .sub_details .back() .fraction = -1 ; @@ -1769,11 +1759,11 @@ bool GParted_Core::copy_filesystem( const Partition & partition_src, { if ( ! error_message .empty() ) operation_details .back() .sub_details .push_back( - OperationDetails( error_message, OperationDetails::NONE ) ) ; + OperationDetail( error_message, STATUS_NONE, FONT_ITALIC ) ) ; if ( ! ped_error .empty() ) operation_details .back() .sub_details .push_back( - OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; } //close the devices.. @@ -1790,29 +1780,25 @@ bool GParted_Core::copy_filesystem( const Partition & partition_src, } else operation_details .back() .sub_details .push_back( - OperationDetails( _("An error occurred while opening the devices"), OperationDetails::NONE ) ) ; + OperationDetail( _("An error occurred while opening the devices"), STATUS_NONE ) ) ; - operation_details .back() .status = succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = succes ? STATUS_SUCCES : STATUS_ERROR ; return succes ; } -bool GParted_Core::check_repair( const Partition & partition, std::vector & operation_details ) +bool GParted_Core::check_repair( const Partition & partition, std::vector & operation_details ) { - operation_details .push_back( OperationDetails( + operation_details .push_back( OperationDetail( String::ucompose( _("check filesystem on %1 for errors and (if possible) fix them"), partition .get_path() ) ) ) ; if ( get_fs( partition .filesystem ) .check == GParted::FS::NONE ) { operation_details .back() .sub_details .push_back( - OperationDetails( - Glib::ustring( "" ) + - _("checking is not available for this filesystem") + - Glib::ustring( "" ), - OperationDetails::NONE ) ) ; + OperationDetail( _("checking is not available for this filesystem"), STATUS_NONE, FONT_ITALIC ) ) ; - operation_details .back() .status = OperationDetails::N_A ; + operation_details .back() .status = STATUS_N_A ; return true ; } @@ -1820,20 +1806,20 @@ bool GParted_Core::check_repair( const Partition & partition, std::vectorCheck_Repair( partition, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return false ; } } bool GParted_Core::set_partition_type( const Partition & partition, - std::vector & operation_details ) + std::vector & operation_details ) { - operation_details .push_back( OperationDetails( _("set partitiontype") ) ) ; + operation_details .push_back( OperationDetail( _("set partitiontype") ) ) ; bool return_value = false ; @@ -1859,7 +1845,7 @@ bool GParted_Core::set_partition_type( const Partition & partition, close_device_and_disk() ; } - operation_details .back() .status = return_value ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = return_value ? STATUS_SUCCES : STATUS_ERROR ; return return_value ; } @@ -1874,16 +1860,14 @@ bool GParted_Core::copy_block( PedDevice * lp_device_src, if ( ! ped_device_read( lp_device_src, buf, offset_src, blocksize ) ) { - error_message = - "" + String::ucompose( _("Error while reading block at sector %1"), offset_src ) + "" ; + error_message = String::ucompose( _("Error while reading block at sector %1"), offset_src ) ; return false ; } if ( ! ped_device_write( lp_device_dst, buf, offset_dst, blocksize ) ) { - error_message = - "" + String::ucompose( _("Error while writing block at sector %1"), offset_dst ) + "" ; + error_message = String::ucompose( _("Error while writing block at sector %1"), offset_dst ) ; return false ; } @@ -1893,26 +1877,25 @@ bool GParted_Core::copy_block( PedDevice * lp_device_src, bool GParted_Core::calculate_exact_geom( const Partition & partition_old, Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, Sector min_size ) { - operation_details .push_back( OperationDetails( + operation_details .push_back( OperationDetail( String::ucompose( _("calculate new size and position of %1"), partition_new .get_path() ) ) ) ; if ( min_size >= 0 ) operation_details .back() .sub_details .push_back( - OperationDetails( String::ucompose( _("minimum size: %1"), min_size ), OperationDetails::NONE ) ) ; + OperationDetail( String::ucompose( _("minimum size: %1"), min_size ), STATUS_NONE ) ) ; operation_details .back() .sub_details .push_back( - OperationDetails( - "" + + OperationDetail( String::ucompose( _("requested start: %1"), partition_new .sector_start ) + "\n" + String::ucompose( _("requested end: %1"), partition_new .sector_end ) + "\n" + String::ucompose( _("requested size: %1 (%2)"), partition_new .get_length(), - Utils::format_size( partition_new .get_length() ) ) + - "", - OperationDetails::NONE ) ) ; + Utils::format_size( partition_new .get_length() ) ), + STATUS_NONE, + FONT_ITALIC ) ) ; ped_error .clear() ; bool succes = false ; @@ -1961,21 +1944,20 @@ bool GParted_Core::calculate_exact_geom( const Partition & partition_old, if ( succes ) { operation_details .back() .sub_details .push_back( - OperationDetails( - "" + + OperationDetail( String::ucompose( _("new start: %1"), partition_new .sector_start ) + "\n" + String::ucompose( _("new end: %1"), partition_new .sector_end ) + "\n" + String::ucompose( _("new size: %1 (%2)"), partition_new .get_length(), - Utils::format_size( partition_new .get_length() ) ) + - "", - OperationDetails::NONE ) ) ; + Utils::format_size( partition_new .get_length() ) ), + STATUS_NONE, + FONT_ITALIC ) ) ; } else if ( ! ped_error .empty() ) operation_details .back() .sub_details .push_back( - OperationDetails( "" + ped_error + "", OperationDetails::NONE ) ) ; + OperationDetail( ped_error, STATUS_NONE, FONT_ITALIC ) ) ; - operation_details .back() .status = succes ? OperationDetails::SUCCES : OperationDetails::ERROR ; + operation_details .back() .status = succes ? STATUS_SUCCES : STATUS_ERROR ; return succes ; } @@ -2054,6 +2036,9 @@ bool GParted_Core::erase_filesystem_signatures( const Partition & partition ) //FIXME open_device( _and_disk) and the close functions should take an PedDevice * and PedDisk * as argument //basicly we should get rid of these global lp_device and lp_disk +//also, it would be cool to create another open_device_and_disk() which also accepts an operation_details.... +//we don't have to show the opening as an operation in itself, but we could use it to report errors which might +//occur while opening the device or disk. bool GParted_Core::open_device( const Glib::ustring & device_path ) { lp_device = ped_device_get( device_path .c_str() ); diff --git a/src/Makefile.am b/src/Makefile.am index 46e3164d..5777b08c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,6 +29,7 @@ gparted_SOURCES = \ OperationCopy.cc \ OperationCreate.cc \ OperationDelete.cc \ + OperationDetail.cc \ OperationFormat.cc \ OperationResizeMove.cc \ Partition.cc \ diff --git a/src/OperationDetail.cc b/src/OperationDetail.cc new file mode 100644 index 00000000..dcbbcbaf --- /dev/null +++ b/src/OperationDetail.cc @@ -0,0 +1,62 @@ +/* Copyright (C) 2004 Bart 'plors' Hakvoort + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + + +#include "../include/OperationDetail.h" + +namespace GParted +{ + +OperationDetail::OperationDetail() +{ + status = STATUS_NONE ; + fraction = -1 ; +} + +OperationDetail::OperationDetail( const Glib::ustring & description, OperationDetailStatus status, Font font ) +{ + set_description( description, font ) ; + this ->status = status ; + + fraction = -1 ; +} + +void OperationDetail::set_description( const Glib::ustring & description, Font font ) +{ + switch ( font ) + { + case FONT_NORMAL: + this ->description = Glib::Markup::escape_text( description ) ; + break ; + case FONT_BOLD: + this ->description = "" + Glib::Markup::escape_text( description ) + "" ; + break ; + case FONT_ITALIC: + this ->description = "" + Glib::Markup::escape_text( description ) + "" ; + break ; + case FONT_BOLD_ITALIC: + this ->description = "" + Glib::Markup::escape_text( description ) + "" ; + break ; + } +} + +Glib::ustring OperationDetail::get_description() const +{ + return description ; +} + +} //GParted diff --git a/src/ext2.cc b/src/ext2.cc index ab97b56d..33bd4ffd 100644 --- a/src/ext2.cc +++ b/src/ext2.cc @@ -72,13 +72,13 @@ void ext2::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool ext2::Create( const Partition & new_partition, std::vector & operation_details ) +bool ext2::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkfs.ext2 " + new_partition .get_path(), operation_details ) ; } bool ext2::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { Glib::ustring str_temp = "resize2fs " + partition_new .get_path() ; @@ -92,12 +92,12 @@ bool ext2::Resize( const Partition & partition_new, bool ext2::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool ext2::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool ext2::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "e2fsck -f -y -v " + partition .get_path(), operation_details ) ; diff --git a/src/ext3.cc b/src/ext3.cc index 2ec3c988..20ff7fb1 100644 --- a/src/ext3.cc +++ b/src/ext3.cc @@ -73,13 +73,13 @@ void ext3::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool ext3::Create( const Partition & new_partition, std::vector & operation_details ) +bool ext3::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkfs.ext3 " + new_partition .get_path(), operation_details ) ; } bool ext3::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { Glib::ustring str_temp = "resize2fs " + partition_new .get_path() ; @@ -93,12 +93,12 @@ bool ext3::Resize( const Partition & partition_new, bool ext3::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool ext3::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool ext3::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "e2fsck -f -y -v " + partition .get_path(), operation_details ) ; diff --git a/src/fat16.cc b/src/fat16.cc index ce64b71b..3ef246ce 100644 --- a/src/fat16.cc +++ b/src/fat16.cc @@ -73,13 +73,13 @@ void fat16::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool fat16::Create( const Partition & new_partition, std::vector & operation_details ) +bool fat16::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkdosfs -F16 -v " + new_partition .get_path(), operation_details ) ; } bool fat16::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -87,12 +87,12 @@ bool fat16::Resize( const Partition & partition_new, bool fat16::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool fat16::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool fat16::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "dosfsck -a -w -v " + partition .get_path(), operation_details ) ; diff --git a/src/fat32.cc b/src/fat32.cc index d73fa072..b2fd7b7a 100644 --- a/src/fat32.cc +++ b/src/fat32.cc @@ -72,13 +72,13 @@ void fat32::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool fat32::Create( const Partition & new_partition, std::vector & operation_details ) +bool fat32::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkdosfs -F32 -v " + new_partition .get_path(), operation_details ) ; } bool fat32::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -86,12 +86,12 @@ bool fat32::Resize( const Partition & partition_new, bool fat32::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool fat32::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool fat32::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "dosfsck -a -w -v " + partition .get_path(), operation_details ) ; diff --git a/src/hfs.cc b/src/hfs.cc index f4f22801..cacfed69 100644 --- a/src/hfs.cc +++ b/src/hfs.cc @@ -45,13 +45,13 @@ void hfs::Set_Used_Sectors( Partition & partition ) { } -bool hfs::Create( const Partition & new_partition, std::vector & operation_details ) +bool hfs::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "hformat " + new_partition .get_path(), operation_details ) ; } bool hfs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -59,12 +59,12 @@ bool hfs::Resize( const Partition & partition_new, bool hfs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool hfs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool hfs::Check_Repair( const Partition & partition, std::vector & operation_details ) { return true ; } diff --git a/src/hfsplus.cc b/src/hfsplus.cc index c758f7c6..70f1c825 100644 --- a/src/hfsplus.cc +++ b/src/hfsplus.cc @@ -21,7 +21,7 @@ namespace GParted { -FS hfsplus::get_filesystem_support( ) +FS hfsplus::get_filesystem_support() { FS fs ; @@ -40,13 +40,13 @@ void hfsplus::Set_Used_Sectors( Partition & partition ) { } -bool hfsplus::Create( const Partition & new_partition, std::vector & operation_details ) +bool hfsplus::Create( const Partition & new_partition, std::vector & operation_details ) { return true ; } bool hfsplus::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -54,12 +54,12 @@ bool hfsplus::Resize( const Partition & partition_new, bool hfsplus::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool hfsplus::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool hfsplus::Check_Repair( const Partition & partition, std::vector & operation_details ) { return true ; } diff --git a/src/jfs.cc b/src/jfs.cc index f1d7b5df..4adc4025 100644 --- a/src/jfs.cc +++ b/src/jfs.cc @@ -93,13 +93,13 @@ void jfs::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool jfs::Create( const Partition & new_partition, std::vector & operation_details ) +bool jfs::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkfs.jfs -q " + new_partition .get_path(), operation_details ) ; } bool jfs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { bool return_value = false ; @@ -108,78 +108,78 @@ bool jfs::Resize( const Partition & partition_new, //create mountpoint... operation_details .push_back( - OperationDetails( String::ucompose( _("create temporary mountpoint (%1)"), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("create temporary mountpoint (%1)"), TEMP_MP ) ) ) ; if ( ! mkdir( TEMP_MP .c_str(), 0 ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //mount partition operation_details .push_back( - OperationDetails( String::ucompose( _("mount %1 on %2"), partition_new .get_path(), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("mount %1 on %2"), partition_new .get_path(), TEMP_MP ) ) ) ; if ( ! execute_command( "mount -v -t jfs " + partition_new .get_path() + " " + TEMP_MP, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //remount the partition to resize the filesystem operation_details .push_back( - OperationDetails( String::ucompose( _("remount %1 on %2 with the 'resize' flag enabled"), + OperationDetail( String::ucompose( _("remount %1 on %2 with the 'resize' flag enabled"), partition_new .get_path(), TEMP_MP ) ) ) ; if ( ! execute_command( "mount -v -t jfs -o remount,resize " + partition_new .get_path() + " " + TEMP_MP, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return_value = true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //and unmount it... operation_details .push_back( - OperationDetails( String::ucompose( _("unmount %1"), partition_new .get_path() ) ) ) ; + OperationDetail( String::ucompose( _("unmount %1"), partition_new .get_path() ) ) ) ; if ( ! execute_command( "umount -v " + partition_new .get_path(), operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //remove the mountpoint.. operation_details .push_back( - OperationDetails( String::ucompose( _("remove temporary mountpoint (%1)"), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("remove temporary mountpoint (%1)"), TEMP_MP ) ) ) ; if ( ! rmdir( TEMP_MP .c_str() ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; } return return_value ; @@ -187,12 +187,12 @@ bool jfs::Resize( const Partition & partition_new, bool jfs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool jfs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool jfs::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "jfs_fsck -f " + partition .get_path(), operation_details ) ; diff --git a/src/linux_swap.cc b/src/linux_swap.cc index 646b1401..0c0f2d12 100644 --- a/src/linux_swap.cc +++ b/src/linux_swap.cc @@ -43,13 +43,13 @@ void linux_swap::Set_Used_Sectors( Partition & partition ) { } -bool linux_swap::Create( const Partition & new_partition, std::vector & operation_details ) +bool linux_swap::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkswap " + new_partition .get_path(), operation_details ) ; } bool linux_swap::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return Create( partition_new, operation_details ) ; @@ -57,12 +57,12 @@ bool linux_swap::Resize( const Partition & partition_new, bool linux_swap::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool linux_swap::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool linux_swap::Check_Repair( const Partition & partition, std::vector & operation_details ) { return true ; } diff --git a/src/ntfs.cc b/src/ntfs.cc index 5e1f7be5..749372fc 100644 --- a/src/ntfs.cc +++ b/src/ntfs.cc @@ -70,13 +70,13 @@ void ntfs::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool ntfs::Create( const Partition & new_partition, std::vector & operation_details ) +bool ntfs::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkntfs -Q -vv " + new_partition .get_path(), operation_details ) ; } bool ntfs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { bool return_value = false ; @@ -90,28 +90,28 @@ bool ntfs::Resize( const Partition & partition_new, } //simulation.. - operation_details .push_back( OperationDetails( _("run simulation") ) ) ; + operation_details .push_back( OperationDetail( _("run simulation") ) ) ; if ( ! execute_command( str_temp + " --no-action", operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //real resize - operation_details .push_back( OperationDetails( _("real resize") ) ) ; + operation_details .push_back( OperationDetail( _("real resize") ) ) ; if ( ! execute_command( str_temp, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return_value = true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } return return_value ; @@ -119,12 +119,12 @@ bool ntfs::Resize( const Partition & partition_new, bool ntfs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return ! execute_command( "ntfsclone -f --overwrite " + dest_part_path + " " + src_part_path, operation_details ) ; } -bool ntfs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool ntfs::Check_Repair( const Partition & partition, std::vector & operation_details ) { return ! execute_command( "ntfsresize -P -i -f -v " + partition .get_path(), operation_details ) ; } diff --git a/src/reiser4.cc b/src/reiser4.cc index c8374bce..ac6aed56 100644 --- a/src/reiser4.cc +++ b/src/reiser4.cc @@ -71,13 +71,13 @@ void reiser4::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool reiser4::Create( const Partition & new_partition, std::vector & operation_details ) +bool reiser4::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkfs.reiser4 --yes " + new_partition .get_path(), operation_details ) ; } bool reiser4::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -85,12 +85,12 @@ bool reiser4::Resize( const Partition & partition_new, bool reiser4::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool reiser4::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool reiser4::Check_Repair( const Partition & partition, std::vector & operation_details ) { return ! execute_command( "fsck.reiser4 --yes --fix " + partition .get_path(), operation_details ) ; } diff --git a/src/reiserfs.cc b/src/reiserfs.cc index 926f4b43..1d15faa2 100644 --- a/src/reiserfs.cc +++ b/src/reiserfs.cc @@ -76,13 +76,13 @@ void reiserfs::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool reiserfs::Create( const Partition & new_partition, std::vector & operation_details ) +bool reiserfs::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkreiserfs -f " + new_partition .get_path(), operation_details ) ; } bool reiserfs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { Glib::ustring str_temp = "echo y | resize_reiserfs " + partition_new .get_path() ; @@ -101,12 +101,12 @@ bool reiserfs::Resize( const Partition & partition_new, bool reiserfs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool reiserfs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool reiserfs::Check_Repair( const Partition & partition, std::vector & operation_details ) { exit_status = execute_command( "reiserfsck --y --fix-fixable " + partition .get_path(), operation_details ) ; diff --git a/src/ufs.cc b/src/ufs.cc index 9963a76f..f2eae9b8 100644 --- a/src/ufs.cc +++ b/src/ufs.cc @@ -37,13 +37,13 @@ void ufs::Set_Used_Sectors( Partition & partition ) { } -bool ufs::Create( const Partition & new_partition, std::vector & operation_details ) +bool ufs::Create( const Partition & new_partition, std::vector & operation_details ) { return true ; } bool ufs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { return true ; @@ -51,12 +51,12 @@ bool ufs::Resize( const Partition & partition_new, bool ufs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { return true ; } -bool ufs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool ufs::Check_Repair( const Partition & partition, std::vector & operation_details ) { return true ; } diff --git a/src/xfs.cc b/src/xfs.cc index bc5ebf64..27e6d50d 100644 --- a/src/xfs.cc +++ b/src/xfs.cc @@ -95,13 +95,13 @@ void xfs::Set_Used_Sectors( Partition & partition ) partition .error = error ; } -bool xfs::Create( const Partition & new_partition, std::vector & operation_details ) +bool xfs::Create( const Partition & new_partition, std::vector & operation_details ) { return ! execute_command( "mkfs.xfs -f " + new_partition .get_path(), operation_details ) ; } bool xfs::Resize( const Partition & partition_new, - std::vector & operation_details, + std::vector & operation_details, bool fill_partition ) { bool return_value = false ; @@ -110,75 +110,75 @@ bool xfs::Resize( const Partition & partition_new, //create mountpoint... operation_details .push_back( - OperationDetails( String::ucompose( _("create temporary mountpoint (%1)"), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("create temporary mountpoint (%1)"), TEMP_MP ) ) ) ; if ( ! mkdir( TEMP_MP .c_str(), 0 ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //mount partition operation_details .push_back( - OperationDetails( String::ucompose( _("mount %1 on %2"), partition_new .get_path(), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("mount %1 on %2"), partition_new .get_path(), TEMP_MP ) ) ) ; if ( ! execute_command( "mount -v -t xfs " + partition_new .get_path() + " " + TEMP_MP, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //grow the mounted filesystem.. - operation_details .push_back( OperationDetails( _("grow mounted filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("grow mounted filesystem") ) ) ; if ( ! execute_command ( "xfs_growfs " + TEMP_MP, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return_value = true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //and unmount it... operation_details .push_back( - OperationDetails( String::ucompose( _("unmount %1"), partition_new .get_path() ) ) ) ; + OperationDetail( String::ucompose( _("unmount %1"), partition_new .get_path() ) ) ) ; if ( ! execute_command( "umount -v " + partition_new .get_path(), operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //remove the mountpoint.. operation_details .push_back( - OperationDetails( String::ucompose( _("remove temporary mountpoint (%1)"), TEMP_MP ) ) ) ; + OperationDetail( String::ucompose( _("remove temporary mountpoint (%1)"), TEMP_MP ) ) ) ; if ( ! rmdir( TEMP_MP .c_str() ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; } return return_value ; @@ -186,7 +186,7 @@ bool xfs::Resize( const Partition & partition_new, bool xfs::Copy( const Glib::ustring & src_part_path, const Glib::ustring & dest_part_path, - std::vector & operation_details ) + std::vector & operation_details ) { bool return_value = false ; Glib::ustring error ; @@ -199,143 +199,143 @@ bool xfs::Copy( const Glib::ustring & src_part_path, { //create source mountpoint... operation_details .push_back( - OperationDetails( String::ucompose( _("create temporary mountpoint (%1)"), SRC ) ) ) ; + OperationDetail( String::ucompose( _("create temporary mountpoint (%1)"), SRC ) ) ) ; if ( ! mkdir( SRC .c_str(), 0 ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //create destination mountpoint... operation_details .push_back( - OperationDetails( String::ucompose( _("create temporary mountpoint (%1)"), DST ) ) ) ; + OperationDetail( String::ucompose( _("create temporary mountpoint (%1)"), DST ) ) ) ; if ( ! mkdir( DST .c_str(), 0 ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //mount source partition operation_details .push_back( - OperationDetails( String::ucompose( _("mount %1 on %2"), src_part_path, SRC ) ) ) ; + OperationDetail( String::ucompose( _("mount %1 on %2"), src_part_path, SRC ) ) ) ; if ( ! execute_command( "mount -v -t xfs -o noatime,ro " + src_part_path + " " + SRC, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //mount destination partition operation_details .push_back( - OperationDetails( String::ucompose( _("mount %1 on %2"), dest_part_path, DST ) ) ) ; + OperationDetail( String::ucompose( _("mount %1 on %2"), dest_part_path, DST ) ) ) ; if ( ! execute_command( "mount -v -t xfs " + dest_part_path + " " + DST, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; //copy filesystem.. - operation_details .push_back( OperationDetails( _("copy filesystem") ) ) ; + operation_details .push_back( OperationDetail( _("copy filesystem") ) ) ; if ( ! execute_command( "xfsdump -J - " + SRC + " | xfsrestore -J - " + DST, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; return_value = true ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //unmount destination partition operation_details .push_back( - OperationDetails( String::ucompose( _("unmount %1"), + OperationDetail( String::ucompose( _("unmount %1"), dest_part_path ) ) ) ; if ( ! execute_command( "umount -v " + dest_part_path, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //unmount source partition operation_details .push_back( - OperationDetails( String::ucompose( _("unmount %1"), src_part_path ) ) ) ; + OperationDetail( String::ucompose( _("unmount %1"), src_part_path ) ) ) ; if ( ! execute_command( "umount -v " + src_part_path, operation_details .back() .sub_details ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; } //remove destination mountpoint.. operation_details .push_back( - OperationDetails( String::ucompose( _("remove temporary mountpoint (%1)"), DST ) ) ) ; + OperationDetail( String::ucompose( _("remove temporary mountpoint (%1)"), DST ) ) ) ; if ( ! rmdir( DST .c_str() ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; } //remove source mountpoint.. operation_details .push_back( - OperationDetails( String::ucompose( _("remove temporary mountpoint (%1)"), SRC ) ) ) ; + OperationDetail( String::ucompose( _("remove temporary mountpoint (%1)"), SRC ) ) ) ; if ( ! rmdir( SRC .c_str() ) ) { - operation_details .back() .status = OperationDetails::SUCCES ; + operation_details .back() .status = STATUS_SUCCES ; } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; return_value = false ; } } else { - operation_details .back() .status = OperationDetails::ERROR ; + operation_details .back() .status = STATUS_ERROR ; operation_details .back() .sub_details .push_back( - OperationDetails( Glib::strerror( errno ), OperationDetails::NONE ) ) ; + OperationDetail( Glib::strerror( errno ), STATUS_NONE ) ) ; } } return return_value ; } -bool xfs::Check_Repair( const Partition & partition, std::vector & operation_details ) +bool xfs::Check_Repair( const Partition & partition, std::vector & operation_details ) { return ! execute_command( "xfs_repair -v " + partition .get_path(), operation_details ) ; }
    " << std::endl ; - for ( unsigned int t = 0 ; t < operation_details .sub_details .size() ; t++ ) - echo_operation_details( operation_details .sub_details[ t ], out ) ; + for ( unsigned int t = 0 ; t < operation_detail .sub_details .size() ; t++ ) + echo_operation_details( operation_detail .sub_details[ t ], out ) ; out << "