[gparted] Add accessibility relations (!92)
- From: Mike Fleetwood <mfleetwo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Add accessibility relations (!92)
- Date: Sat, 9 Oct 2021 09:00:12 +0000 (UTC)
commit f31fbb986fab551a4db8c05e9a45720b35bc5385
Author: Pascal Engélibert <tuxmain zettascript org>
Date: Sat Oct 2 15:43:06 2021 +0200
Add accessibility relations (!92)
Accessibility relations are essential for usage with screen readers. It
enables the screen reader to read the corresponding label along with the
value of a widget when it gains focus, rather than just the value of the
widget itself.
Test by running Orca screen reader and tab around the elements of the UI
and listen to what is read out. For example before it would be
"500 GiB", where as after it would be "Unused 500 GiB".
Closes !92 - Add accessibility relations
src/DialogPasswordEntry.cc | 6 +-
src/Dialog_Base_Partition.cc | 19 +++-
src/Dialog_FileSystem_Label.cc | 7 +-
src/Dialog_Partition_Info.cc | 221 +++++++++++++++++++++++++----------------
src/Dialog_Partition_Name.cc | 8 +-
src/Dialog_Partition_New.cc | 24 +++--
src/Win_GParted.cc | 84 ++++++++++------
7 files changed, 240 insertions(+), 129 deletions(-)
---
diff --git a/src/DialogPasswordEntry.cc b/src/DialogPasswordEntry.cc
index 1cbfbb81..70cbc095 100644
--- a/src/DialogPasswordEntry.cc
+++ b/src/DialogPasswordEntry.cc
@@ -19,6 +19,8 @@
#include <glibmm/ustring.h>
#include <gtkmm/box.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
#include <gtkmm/stock.h>
#include <gtkmm/button.h>
#include <gtk/gtk.h>
@@ -47,12 +49,14 @@ DialogPasswordEntry::DialogPasswordEntry(const Partition& partition, const Glib:
// Line 2: "Passphrase: [ ]"
// (Horizontal box holding prompt and entry box)
Gtk::Box *entry_hbox(manage(new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL)));
- entry_hbox->pack_start( *Utils::mk_label( "<b>"+ Glib::ustring( _("Passphrase:") ) + "</b>" ) );
+ Gtk::Label *label_passphrase = Utils::mk_label("<b>" + Glib::ustring(_("Passphrase:")) + "</b>");
+ entry_hbox->pack_start(*label_passphrase);
entry = manage( new Gtk::Entry() );
entry->set_width_chars( 30 );
entry->set_visibility( false );
entry->set_activates_default( true );
entry->grab_focus();
+ entry->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_passphrase->get_accessible());
entry_hbox->pack_start( *entry );
vbox->pack_start( *entry_hbox );
diff --git a/src/Dialog_Base_Partition.cc b/src/Dialog_Base_Partition.cc
index 25cc4d7c..943ef816 100644
--- a/src/Dialog_Base_Partition.cc
+++ b/src/Dialog_Base_Partition.cc
@@ -21,6 +21,8 @@
#include "Utils.h"
#include <glibmm/ustring.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
namespace GParted
@@ -61,8 +63,9 @@ Dialog_Base_Partition::Dialog_Base_Partition(const Device& device)
vbox_resize_move.pack_start(hbox_grid, Gtk::PACK_SHRINK);
// Add spinbutton_before
- grid_resize.attach(*Utils::mk_label(Glib::ustring(_("Free space preceding (MiB):")) + " \t"),
- 0, 0, 1, 1);
+ Gtk::Label *label_before = Utils::mk_label(Glib::ustring(_("Free space preceding (MiB):")) + " \t");
+ grid_resize.attach(*label_before, 0, 0, 1, 1);
+ spinbutton_before.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_before->get_accessible());
spinbutton_before .set_numeric( true );
spinbutton_before .set_increments( 1, 100 );
@@ -70,7 +73,9 @@ Dialog_Base_Partition::Dialog_Base_Partition(const Device& device)
grid_resize.attach(spinbutton_before, 1, 0, 1, 1);
// Add spinbutton_size
- grid_resize.attach(*Utils::mk_label(_("New size (MiB):")), 0, 1, 1, 1);
+ Gtk::Label *label_size = Utils::mk_label(_("New size (MiB):"));
+ grid_resize.attach(*label_size, 0, 1, 1, 1);
+ spinbutton_size.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_size->get_accessible());
spinbutton_size .set_numeric( true );
spinbutton_size .set_increments( 1, 100 );
@@ -78,7 +83,9 @@ Dialog_Base_Partition::Dialog_Base_Partition(const Device& device)
grid_resize.attach(spinbutton_size, 1, 1, 1, 1);
// Add spinbutton_after
- grid_resize.attach(*Utils::mk_label(_("Free space following (MiB):")), 0, 2, 1, 1);
+ Gtk::Label *label_after = Utils::mk_label(_("Free space following (MiB):"));
+ grid_resize.attach(*label_after, 0, 2, 1, 1);
+ spinbutton_after.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_after->get_accessible());
spinbutton_after .set_numeric( true );
spinbutton_after .set_increments( 1, 100 );
@@ -106,7 +113,9 @@ Dialog_Base_Partition::Dialog_Base_Partition(const Device& device)
// Add alignment
/* TO TRANSLATORS: used as label for a list of choices. Align to: <combo box with choices> */
- grid_resize.attach(*Utils::mk_label(Glib::ustring(_("Align to:")) + "\t"), 0, 3, 1, 1);
+ Gtk::Label *label_alignment = Utils::mk_label(Glib::ustring(_("Align to:")) + "\t");
+ grid_resize.attach(*label_alignment, 0, 3, 1, 1);
+ combo_alignment.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_alignment->get_accessible());
// Fill partition alignment combo
/* TO TRANSLATORS: Option for combo box "Align to:" */
diff --git a/src/Dialog_FileSystem_Label.cc b/src/Dialog_FileSystem_Label.cc
index 4d896df3..180f3d3f 100644
--- a/src/Dialog_FileSystem_Label.cc
+++ b/src/Dialog_FileSystem_Label.cc
@@ -19,6 +19,8 @@
#include <glibmm/ustring.h>
#include <gtkmm/box.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
#include <gtkmm/stock.h>
#include <gtkmm/entry.h>
@@ -40,14 +42,15 @@ Dialog_FileSystem_Label::Dialog_FileSystem_Label( const Partition & partition )
get_content_area()->pack_start(*hbox, Gtk::PACK_SHRINK);
// Only line: "Label: [EXISTINGLABEL ]"
- hbox->pack_start( *Utils::mk_label("<b>" + Glib::ustring( _("Label:") ) + "</b>"),
- Gtk::PACK_SHRINK );
+ Gtk::Label *label_label = Utils::mk_label("<b>" + Glib::ustring(_("Label:")) + "</b>");
+ hbox->pack_start(*label_label, Gtk::PACK_SHRINK);
entry = manage( new Gtk::Entry() );
entry->set_max_length(Utils::get_filesystem_label_maxlength(partition.fstype));
entry->set_width_chars( 30 );
entry->set_activates_default( true );
entry->set_text( partition.get_filesystem_label() );
entry->select_region( 0, entry->get_text_length() );
+ entry->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY, label_label->get_accessible());
hbox->pack_start( *entry, Gtk::PACK_SHRINK );
this ->add_button( Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL ) ;
diff --git a/src/Dialog_Partition_Info.cc b/src/Dialog_Partition_Info.cc
index ad438e52..0cbb5390 100644
--- a/src/Dialog_Partition_Info.cc
+++ b/src/Dialog_Partition_Info.cc
@@ -26,8 +26,11 @@
#include <gtkmm/alignment.h>
#include <gtkmm/viewport.h>
#include <gtkmm/grid.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
#include <gdkmm/general.h>
+
namespace GParted
{
@@ -256,23 +259,30 @@ void Dialog_Partition_Info::Display_Info()
// Left field & value pair area
// File system
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("File system:")) + "</b>"), 1, top, 1, 1);
+ Gtk::Label *label_filesystem = Utils::mk_label("<b>" + Glib::ustring(_("File system:")) + "</b>");
+ grid->attach(*label_filesystem, 1, top, 1, 1);
if ( filesystem_accessible )
{
- grid->attach(*Utils::mk_label(Utils::get_filesystem_string(filesystem_ptn.fstype), true,
false, true),
- 2, top, 1, 1);
+ Gtk::Label *value_filesystem =
Utils::mk_label(Utils::get_filesystem_string(filesystem_ptn.fstype),
+ true, false, true);
+ grid->attach(*value_filesystem, 2, top, 1, 1);
+ value_filesystem->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_filesystem->get_accessible());
}
top++;
//label
if (filesystem_ptn.fstype != FS_UNALLOCATED && filesystem_ptn.type != TYPE_EXTENDED)
{
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Label:")) + "</b>"),
- 1, top, 1, 1);
+ Gtk::Label *label_label = Utils::mk_label("<b>" + Glib::ustring(_("Label:")) + "</b>");
+ grid->attach(*label_label, 1, top, 1, 1);
if ( filesystem_accessible )
{
- grid->attach(*Utils::mk_label(filesystem_ptn.get_filesystem_label(), true, false,
true),
- 2, top, 1, 1);
+ Gtk::Label *value_label = Utils::mk_label(filesystem_ptn.get_filesystem_label(),
+ true, false, true);
+ grid->attach(*value_label, 2, top, 1, 1);
+ value_label->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_label->get_accessible());
}
top++;
}
@@ -280,12 +290,14 @@ void Dialog_Partition_Info::Display_Info()
// file system uuid
if (filesystem_ptn.fstype != FS_UNALLOCATED && filesystem_ptn.type != TYPE_EXTENDED)
{
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("UUID:")) + "</b>"),
- 1, top, 1, 1);
+ Gtk::Label *label_uuid = Utils::mk_label("<b>" + Glib::ustring(_("UUID:")) + "</b>");
+ grid->attach(*label_uuid, 1, top, 1, 1);
if ( filesystem_accessible )
{
- grid->attach(*Utils::mk_label(filesystem_ptn.uuid, true, false, true),
- 2, top, 1, 1);
+ Gtk::Label *value_uuid = Utils::mk_label(filesystem_ptn.uuid, true, false, true);
+ grid->attach(*value_uuid, 2, top, 1, 1);
+ value_uuid->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_uuid->get_accessible());
}
top++;
}
@@ -304,9 +316,9 @@ void Dialog_Partition_Info::Display_Info()
{
//status
Glib::ustring str_temp ;
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Status:")) + "</b>",
- true, false, false, Gtk::ALIGN_START),
- 1, top, 1, 1);
+ Gtk::Label *label_status = Utils::mk_label("<b>" + Glib::ustring(_("Status:")) + "</b>",
+ true, false, false, Gtk::ALIGN_START);
+ grid->attach(*label_status, 1, top, 1, 1);
if ( ! filesystem_accessible )
{
/* TO TRANSLATORS: Not accessible (Encrypted)
@@ -407,17 +419,22 @@ void Dialog_Partition_Info::Display_Info()
str_temp = _("Not mounted") ;
}
- grid->attach(*Utils::mk_label(str_temp, true, true, true), 2, top++, 1, 1);
+ Gtk::Label *value_status = Utils::mk_label(str_temp, true, true, true);
+ grid->attach(*value_status, 2, top++, 1, 1);
+ value_status->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_status->get_accessible());
}
//Optional, LVM2 Volume Group name
if (filesystem_ptn.fstype == FS_LVM2_PV)
{
// Volume Group
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Volume Group:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(vgname, true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *label_volume_group = Utils::mk_label("<b>" + Glib::ustring(_("Volume Group:")) +
"</b>");
+ grid->attach(*label_volume_group, 1, top, 1, 1);
+ Gtk::Label *value_volume_group = Utils::mk_label(vgname, true, false, true);
+ grid->attach(*value_volume_group, 2, top++, 1, 1);
+ value_volume_group->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_volume_group->get_accessible());
}
//Optional, members of multi-device file systems
@@ -425,8 +442,9 @@ void Dialog_Partition_Info::Display_Info()
filesystem_ptn.fstype == FS_BTRFS )
{
// Members
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Members:")) + "</b>", true, false,
false, Gtk::ALIGN_START),
- 1, top, 1, 1);
+ Gtk::Label *label_members = Utils::mk_label("<b>" + Glib::ustring(_("Members:")) + "</b>",
+ true, false, false, Gtk::ALIGN_START);
+ grid->attach(*label_members, 1, top, 1, 1);
std::vector<Glib::ustring> members ;
switch (filesystem_ptn.fstype)
@@ -442,19 +460,24 @@ void Dialog_Partition_Info::Display_Info()
break ;
}
- grid->attach(*Utils::mk_label(Glib::build_path("\n", members), true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *value_members = Utils::mk_label(Glib::build_path("\n", members), true, false,
true);
+ grid->attach(*value_members, 2, top++, 1, 1);
+ value_members->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_members->get_accessible());
}
if (filesystem_ptn.fstype == FS_LVM2_PV)
{
// Logical Volumes
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Logical Volumes:")) + "</b>", true,
false, false, Gtk::ALIGN_START),
- 1, top, 1, 1);
+ Gtk::Label *label_logical_volumes = Utils::mk_label("<b>" + Glib::ustring(_("Logical
Volumes:")) + "</b>",
+ true, false, false, Gtk::ALIGN_START);
+ grid->attach(*label_logical_volumes, 1, top, 1, 1);
std::vector<Glib::ustring> lvs = LVM2_PV_Info::get_vg_lvs( vgname );
- grid->attach(*Utils::mk_label(Glib::build_path("\n", lvs), true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *value_logical_volumes = Utils::mk_label(Glib::build_path("\n", lvs), true, false,
true);
+ grid->attach(*value_logical_volumes, 2, top++, 1, 1);
+ value_logical_volumes->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+
label_logical_volumes->get_accessible());
}
// Initialize grid top attach tracker (right side of the grid)
@@ -468,39 +491,49 @@ void Dialog_Partition_Info::Display_Info()
partition .get_usage_triple( 100, percent_used, percent_unused, percent_unallocated ) ;
// Used
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Used:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::format_size(partition.get_sectors_used(),
partition.sector_size), true, false, true),
- 4, topright, 1, 1);
+ Gtk::Label *label_used = Utils::mk_label("<b>" + Glib::ustring(_("Used:")) + "</b>");
+ grid->attach(*label_used, 3, topright, 1, 1);
+ Gtk::Label *value_used = Utils::mk_label(Utils::format_size(partition.get_sectors_used(),
partition.sector_size),
+ true, false, true);
+ grid->attach(*value_used, 4, topright, 1, 1);
grid->attach(*Utils::mk_label("( " + Utils::num_to_str(percent_used) + "% )"),
5, topright++, 1, 1);
+ value_used->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_used->get_accessible());
// Unused
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Unused:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::format_size(partition.get_sectors_unused(),
partition.sector_size), true, false, true),
- 4, topright, 1, 1);
+ Gtk::Label *label_unused = Utils::mk_label("<b>" + Glib::ustring(_("Unused:")) + "</b>");
+ grid->attach(*label_unused, 3, topright, 1, 1);
+ Gtk::Label *value_unused = Utils::mk_label(Utils::format_size(partition.get_sectors_unused(),
partition.sector_size),
+ true, false, true);
+ grid->attach(*value_unused, 4, topright, 1, 1);
grid->attach(*Utils::mk_label("( " + Utils::num_to_str(percent_unused) + "% )"),
5, topright++, 1, 1);
+ value_unused->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_unused->get_accessible());
//unallocated
Sector sectors_unallocated = partition .get_sectors_unallocated() ;
if ( sectors_unallocated > 0 )
{
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Unallocated:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::format_size(sectors_unallocated,
partition.sector_size), true, false, true),
- 4, topright, 1, 1);
+ Gtk::Label *label_unallocated = Utils::mk_label("<b>" +
Glib::ustring(_("Unallocated:")) + "</b>");
+ grid->attach(*label_unallocated, 3, topright, 1, 1);
+ Gtk::Label *value_unallocated =
Utils::mk_label(Utils::format_size(sectors_unallocated, partition.sector_size),
+ true, false, true);
+ grid->attach(*value_unallocated, 4, topright, 1, 1);
grid->attach(*Utils::mk_label("( " + Utils::num_to_str(percent_unallocated) + "% )"),
5, topright++, 1, 1);
+ value_unallocated->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+
label_unallocated->get_accessible());
}
}
// Size
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Size:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::format_size(ptn_sectors, partition.sector_size), true, false,
true),
- 4, topright++, 1, 1);
+ Gtk::Label *label_size = Utils::mk_label("<b>" + Glib::ustring(_("Size:")) + "</b>");
+ grid->attach(*label_size, 3, topright, 1, 1);
+ Gtk::Label *value_size = Utils::mk_label(Utils::format_size(ptn_sectors, partition.sector_size),
+ true, false, true);
+ grid->attach(*value_size, 4, topright++, 1, 1);
+ value_size->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_size->get_accessible());
//ensure left row tracker set to largest side (left/right)
top = std::max( top, topright );
@@ -516,34 +549,45 @@ void Dialog_Partition_Info::Display_Info()
0, top++, 6, 1);
// Encryption
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Encryption:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(Utils::get_filesystem_string(partition.fstype), true, false,
true),
- 2, top++, 1, 1);
+ Gtk::Label *label_encryption = Utils::mk_label("<b>" + Glib::ustring(_("Encryption:")) +
"</b>");
+ grid->attach(*label_encryption, 1, top, 1, 1);
+ Gtk::Label *value_encryption = Utils::mk_label(Utils::get_filesystem_string(partition.fstype),
+ true, false, true);
+ grid->attach(*value_encryption, 2, top++, 1, 1);
+ value_encryption->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_encryption->get_accessible());
// LUKS path
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Path:")) + "</b>"),
- 1, top, 1, 1);
- if ( partition.busy )
- grid->attach(*Utils::mk_label(partition.get_mountpoint(), true, false, true),
- 2, top, 1, 1);
+ Gtk::Label *label_path = Utils::mk_label("<b>" + Glib::ustring(_("Path:")) + "</b>");
+ grid->attach(*label_path, 1, top, 1, 1);
+ if ( partition.busy ) {
+ Gtk::Label *value_path = Utils::mk_label(partition.get_mountpoint(), true, false,
true);
+ grid->attach(*value_path, 2, top, 1, 1);
+ value_path->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_path->get_accessible());
+ }
top++;
// LUKS uuid
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("UUID:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(partition.uuid, true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *label_uuid = Utils::mk_label("<b>" + Glib::ustring(_("UUID:")) + "</b>");
+ grid->attach(*label_uuid, 1, top, 1, 1);
+ Gtk::Label *value_uuid = Utils::mk_label(partition.uuid, true, false, true);
+ grid->attach(*value_uuid, 2, top++, 1, 1);
+ value_uuid->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_uuid->get_accessible());
// LUKS status
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Status:")) + "</b>"),
- 1, top, 1, 1);
+ Gtk::Label *label_status = Utils::mk_label("<b>" + Glib::ustring(_("Status:")) + "</b>");
+ grid->attach(*label_status, 1, top, 1, 1);
Glib::ustring str_temp;
if ( partition.busy )
str_temp = luks_open;
else
str_temp = luks_closed;
- grid->attach(*Utils::mk_label(str_temp, true, false, true), 2, top++, 1, 1);
+ Gtk::Label *value_status = Utils::mk_label(str_temp, true, false, true);
+ grid->attach(*value_status, 2, top++, 1, 1);
+ value_status->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_status->get_accessible());
// One blank line
grid->attach(*Utils::mk_label(""), 0, top++, 6, 1);
@@ -559,46 +603,57 @@ void Dialog_Partition_Info::Display_Info()
// Left field & value pair area
// Path
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Path:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(partition.get_path(), true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *label_path = Utils::mk_label("<b>" + Glib::ustring(_("Path:")) + "</b>");
+ grid->attach(*label_path, 1, top, 1, 1);
+ Gtk::Label *value_path = Utils::mk_label(partition.get_path(), true, false, true);
+ grid->attach(*value_path, 2, top++, 1, 1);
+ value_path->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_path->get_accessible());
if (partition.fstype != FS_UNALLOCATED && partition.status != STAT_NEW)
{
// Name
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Name:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(partition.name, true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *label_name = Utils::mk_label("<b>" + Glib::ustring(_("Name:")) + "</b>");
+ grid->attach(*label_name, 1, top, 1, 1);
+ Gtk::Label *value_name = Utils::mk_label(partition.name, true, false, true);
+ grid->attach(*value_name, 2, top++, 1, 1);
+ value_name->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_name->get_accessible());
// Flags
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Flags:")) + "</b>"),
- 1, top, 1, 1);
- grid->attach(*Utils::mk_label(Glib::build_path(", ", partition.flags), true, false, true),
- 2, top++, 1, 1);
+ Gtk::Label *label_flags = Utils::mk_label("<b>" + Glib::ustring(_("Flags:")) + "</b>");
+ grid->attach(*label_flags, 1, top, 1, 1);
+ Gtk::Label *value_flags = Utils::mk_label(Glib::build_path(", ", partition.flags), true,
false, true);
+ grid->attach(*value_flags, 2, top++, 1, 1);
+ value_flags->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_flags->get_accessible());
}
// Right field & value pair area
// First sector
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("First sector:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::num_to_str(partition.sector_start), true, false, true),
- 4, topright++, 1, 1);
+ Gtk::Label *label_first_sector = Utils::mk_label("<b>" + Glib::ustring(_("First sector:")) + "</b>");
+ grid->attach(*label_first_sector, 3, topright, 1, 1);
+ Gtk::Label *value_first_sector = Utils::mk_label(Utils::num_to_str(partition.sector_start), true,
false, true);
+ grid->attach(*value_first_sector, 4, topright++, 1, 1);
+ value_first_sector->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_first_sector->get_accessible());
// Last sector
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Last sector:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::num_to_str(partition.sector_end), true, false, true),
- 4, topright++, 1, 1);
+ Gtk::Label *label_last_sector = Utils::mk_label("<b>" + Glib::ustring(_("Last sector:")) + "</b>");
+ grid->attach(*label_last_sector, 3, topright, 1, 1);
+ Gtk::Label *value_last_sector = Utils::mk_label(Utils::num_to_str(partition.sector_end), true, false,
true);
+ grid->attach(*value_last_sector, 4, topright++, 1, 1);
+ value_last_sector->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_last_sector->get_accessible());
// Total sectors
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(_("Total sectors:")) + "</b>"),
- 3, topright, 1, 1);
- grid->attach(*Utils::mk_label(Utils::num_to_str(ptn_sectors), true, false, true),
- 4, topright++, 1, 1);
+ Gtk::Label *label_total_sectors = Utils::mk_label("<b>" + Glib::ustring(_("Total sectors:")) +
"</b>");
+ grid->attach(*label_total_sectors, 3, topright, 1, 1);
+ Gtk::Label *value_total_sectors = Utils::mk_label(Utils::num_to_str(ptn_sectors), true, false, true);
+ grid->attach(*value_total_sectors, 4, topright++, 1, 1);
+ value_total_sectors->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_total_sectors->get_accessible());
}
+
Dialog_Partition_Info::~Dialog_Partition_Info()
{
}
diff --git a/src/Dialog_Partition_Name.cc b/src/Dialog_Partition_Name.cc
index d606cb3b..104394b9 100644
--- a/src/Dialog_Partition_Name.cc
+++ b/src/Dialog_Partition_Name.cc
@@ -21,6 +21,9 @@
#include <gtkmm/box.h>
#include <gtkmm/stock.h>
#include <gtkmm/entry.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
+
namespace GParted
{
@@ -40,8 +43,8 @@ Dialog_Partition_Name::Dialog_Partition_Name( const Partition & partition, int m
get_content_area()->pack_start(*hbox, Gtk::PACK_SHRINK);
// Only line: "Name: [EXISTINGNAME ]"
- hbox->pack_start( *Utils::mk_label( "<b>" + Glib::ustring(_("Name:")) + "</b>" ),
- Gtk::PACK_SHRINK );
+ Gtk::Label *label_name = Utils::mk_label("<b>" + Glib::ustring(_("Name:")) + "</b>");
+ hbox->pack_start(*label_name, Gtk::PACK_SHRINK);
entry = manage( new Gtk::Entry() );
// NOTE: This limits the Gtk::Entry size in UTF-8 characters but partition names
@@ -54,6 +57,7 @@ Dialog_Partition_Name::Dialog_Partition_Name( const Partition & partition, int m
entry->set_activates_default( true );
entry->set_text( partition.name );
entry->select_region( 0, entry->get_text_length() );
+ entry->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY, label_name->get_accessible());
hbox->pack_start( *entry, Gtk::PACK_SHRINK );
this->add_button( Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL );
diff --git a/src/Dialog_Partition_New.cc b/src/Dialog_Partition_New.cc
index 74644095..745a3c0c 100644
--- a/src/Dialog_Partition_New.cc
+++ b/src/Dialog_Partition_New.cc
@@ -23,6 +23,8 @@
#include "Utils.h"
#include <glibmm/ustring.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
namespace GParted
@@ -101,8 +103,9 @@ void Dialog_Partition_New::set_data( const Device & device,
hbox_main.pack_start(grid_create, Gtk::PACK_SHRINK);
/* TO TRANSLATORS: used as label for a list of choices. Create as: <combo box with choices> */
- grid_create.attach(*Utils::mk_label(Glib::ustring(_("Create as:")) + "\t"),
- 0, 0, 1, 1);
+ Gtk::Label *label_type = Utils::mk_label(Glib::ustring(_("Create as:")) + "\t");
+ grid_create.attach(*label_type, 0, 0, 1, 1);
+ combo_type.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
label_type->get_accessible());
// Fill partition type combo.
combo_type.items().push_back(_("Primary Partition"));
@@ -139,8 +142,10 @@ void Dialog_Partition_New::set_data( const Device & device,
grid_create.attach(combo_type, 1, 0, 1, 1);
// Partition name
- grid_create.attach(*Utils::mk_label(Glib::ustring(_("Partition name:")) + "\t"),
- 0, 1, 1, 1);
+ Gtk::Label *partition_name_label = Utils::mk_label(Glib::ustring(_("Partition name:")) + "\t");
+ grid_create.attach(*partition_name_label, 0, 1, 1, 1);
+ partition_name_entry.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ partition_name_label->get_accessible());
// Initialise text entry box
partition_name_entry.set_width_chars( 20 );
partition_name_entry.set_sensitive( device.partition_naming_supported() );
@@ -149,8 +154,10 @@ void Dialog_Partition_New::set_data( const Device & device,
grid_create.attach(partition_name_entry, 1, 1, 1, 1);
// File systems to choose from
- grid_create.attach(*Utils::mk_label(Glib::ustring(_("File system:")) + "\t"),
- 0, 1, 2, 3);
+ Gtk::Label *label_filesystem = Utils::mk_label(Glib::ustring(_("File system:")) + "\t");
+ grid_create.attach(*label_filesystem, 0, 1, 2, 3);
+ combo_filesystem.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_filesystem->get_accessible());
build_filesystems_combo(device.readonly);
@@ -159,7 +166,10 @@ void Dialog_Partition_New::set_data( const Device & device,
grid_create.attach(combo_filesystem, 1, 2, 1, 1);
// Label
- grid_create.attach(*Utils::mk_label(_("Label:")), 0, 3, 1, 1);
+ Gtk::Label *filesystem_label_label = Utils::mk_label(_("Label:"));
+ grid_create.attach(*filesystem_label_label, 0, 3, 1, 1);
+ filesystem_label_entry.get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ filesystem_label_label->get_accessible());
//Create Text entry box
filesystem_label_entry.set_width_chars( 20 );
// Add entry box to table
diff --git a/src/Win_GParted.cc b/src/Win_GParted.cc
index 24e364dc..9e07a801 100644
--- a/src/Win_GParted.cc
+++ b/src/Win_GParted.cc
@@ -58,6 +58,8 @@
#include <gtkmm/main.h>
#include <gtkmm/separator.h>
#include <gtkmm/grid.h>
+#include <gtkmm/label.h>
+#include <atkmm/relation.h>
#include <glibmm/ustring.h>
#include <glibmm/miscutils.h>
#include <glibmm/shell.h>
@@ -583,28 +585,36 @@ void Win_GParted::init_device_info()
grid->set_column_spacing(10);
// Model
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Model:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_model = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Model:")) + "</b>");
+ grid->attach(*label_model, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_model->get_accessible());
// Serial number
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Serial:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_serial = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Serial:")) +
"</b>");
+ grid->attach(*label_serial, 0, top, 1, 1);
device_info.push_back( Utils::mk_label( "", true, false, true ) );
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_serial->get_accessible());
// Size
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Size:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_size = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Size:")) + "</b>");
+ grid->attach(*label_size, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_size->get_accessible());
// Path
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Path:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_path = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Path:")) + "</b>");
+ grid->attach(*label_path, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_path->get_accessible());
vbox_info.pack_start(*grid, Gtk::PACK_SHRINK);
@@ -617,40 +627,52 @@ void Win_GParted::init_device_info()
grid->attach(*Utils::mk_label(""), 1, top++, 1, 1);
// Disktype
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Partition table:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_disktype = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Partition
table:")) + "</b>");
+ grid->attach(*label_disktype, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_disktype->get_accessible());
// Heads
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Heads:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_heads = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Heads:")) + "</b>");
+ grid->attach(*label_heads, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_heads->get_accessible());
// Sectors / track
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Sectors/track:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_sectors_track = Utils::mk_label(" <b>" +
static_cast<Glib::ustring>(_("Sectors/track:")) + "</b>");
+ grid->attach(*label_sectors_track, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_sectors_track->get_accessible());
// Cylinders
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Cylinders:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_cylinders = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Cylinders:")) +
"</b>");
+ grid->attach(*label_cylinders, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_cylinders->get_accessible());
// Total sectors
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Total sectors:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_total_sectors = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Total
sectors:")) + "</b>");
+ grid->attach(*label_total_sectors, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_total_sectors->get_accessible());
// Sector size
- grid->attach(*Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Sector size:")) + "</b>"),
- 0, top, 1, 1);
+ Gtk::Label *label_sector_size = Utils::mk_label(" <b>" + static_cast<Glib::ustring>(_("Sector
size:")) + "</b>");
+ grid->attach(*label_sector_size, 0, top, 1, 1);
device_info .push_back( Utils::mk_label( "", true, false, true ) ) ;
grid->attach(*device_info.back(), 1, top++, 1, 1);
+ device_info.back()->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_sector_size->get_accessible());
vbox_info.pack_start(*grid, Gtk::PACK_SHRINK);
}
@@ -3602,15 +3624,17 @@ bool Win_GParted::remove_non_empty_lvm2_pv_dialog( const OperationType optype )
msg_area->pack_start(*grid);
// Volume Group
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(vgname_label) + "</b>"),
- 0, 0, 1, 1);
- grid->attach(*Utils::mk_label(vgname, true, false, true),
- 1, 0, 1, 1);
+ Gtk::Label *label_vgname = Utils::mk_label("<b>" + Glib::ustring(vgname_label) + "</b>");
+ grid->attach(*label_vgname, 0, 0, 1, 1);
+ Gtk::Label *value_vgname = Utils::mk_label(vgname, true, false, true);
+ grid->attach(*value_vgname, 1, 0, 1, 1);
+ value_vgname->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_vgname->get_accessible());
// Members
- grid->attach(*Utils::mk_label("<b>" + Glib::ustring(members_label) + "</b>",
- true, false, false, Gtk::ALIGN_START),
- 0, 1, 1, 1);
+ Gtk::Label *label_members = Utils::mk_label("<b>" + Glib::ustring(members_label) + "</b>",
+ true, false, false, Gtk::ALIGN_START);
+ grid->attach(*label_members, 0, 1, 1, 1);
Glib::ustring members_str = "" ;
if ( ! members .empty() )
@@ -3622,8 +3646,10 @@ bool Win_GParted::remove_non_empty_lvm2_pv_dialog( const OperationType optype )
members_str += members[i] ;
}
}
- grid->attach(*Utils::mk_label(members_str, true, false, true, Gtk::ALIGN_START),
- 1, 1, 1, 1);
+ Gtk::Label *value_members = Utils::mk_label(members_str, true, false, true, Gtk::ALIGN_START);
+ grid->attach(*value_members, 1, 1, 1, 1);
+ value_members->get_accessible()->add_relationship(Atk::RELATION_LABELLED_BY,
+ label_members->get_accessible());
dialog .add_button( Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL );
dialog .add_button( Gtk::Stock::DELETE, Gtk::RESPONSE_OK );
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]