DeviceInfo: refactor translation of DeviceInfoPage
- For Boot and Device info widgets, add a retranslateUi() method, since the labels change not only in response to translation events but also UI events. FIXES #779
This commit is contained in:
parent
3b15884f83
commit
47347c77fa
@ -21,6 +21,7 @@
|
||||
#include "core/PartUtils.h"
|
||||
|
||||
#include "utils/CalamaresUtilsGui.h"
|
||||
#include "utils/Retranslator.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QLabel>
|
||||
@ -59,6 +60,12 @@ BootInfoWidget::BootInfoWidget( QWidget* parent )
|
||||
m_bootIcon->setPalette( palette );
|
||||
m_bootLabel->setPalette( palette );
|
||||
|
||||
CALAMARES_RETRANSLATE( retranslateUi(); )
|
||||
}
|
||||
|
||||
void
|
||||
BootInfoWidget::retranslateUi()
|
||||
{
|
||||
m_bootIcon->setToolTip( tr( "The <strong>boot environment</strong> of this system.<br><br>"
|
||||
"Older x86 systems only support <strong>BIOS</strong>.<br>"
|
||||
"Modern systems usually use <strong>EFI</strong>, but "
|
||||
|
@ -30,6 +30,9 @@ class BootInfoWidget : public QWidget
|
||||
public:
|
||||
explicit BootInfoWidget( QWidget* parent = nullptr );
|
||||
|
||||
public slots:
|
||||
void retranslateUi();
|
||||
|
||||
private:
|
||||
QLabel* m_bootIcon;
|
||||
QLabel* m_bootLabel;
|
||||
|
@ -19,9 +19,11 @@
|
||||
|
||||
#include "DeviceInfoWidget.h"
|
||||
|
||||
#include <utils/CalamaresUtilsGui.h>
|
||||
#include <JobQueue.h>
|
||||
#include <GlobalStorage.h>
|
||||
#include "utils/CalamaresUtilsGui.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "utils/Retranslator.h"
|
||||
#include "JobQueue.h"
|
||||
#include "GlobalStorage.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QLabel>
|
||||
@ -44,9 +46,10 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent )
|
||||
|
||||
m_ptIcon->setMargin( 0 );
|
||||
m_ptIcon->setFixedSize( iconSize );
|
||||
m_ptIcon->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::PartitionTable,
|
||||
CalamaresUtils::Original,
|
||||
iconSize ) );
|
||||
m_ptIcon->setPixmap(
|
||||
CalamaresUtils::defaultPixmap( CalamaresUtils::PartitionTable,
|
||||
CalamaresUtils::Original,
|
||||
iconSize ) );
|
||||
|
||||
QFontMetrics fm = QFontMetrics( QFont() );
|
||||
m_ptLabel->setMinimumWidth( fm.boundingRect( "Amiga" ).width() + CalamaresUtils::defaultFontHeight() / 2 );
|
||||
@ -60,28 +63,24 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent )
|
||||
m_ptIcon->setPalette( palette );
|
||||
m_ptLabel->setPalette( palette );
|
||||
|
||||
m_ptIcon->setToolTip( tr( "The type of <strong>partition table</strong> on the "
|
||||
"selected storage device.<br><br>"
|
||||
"The only way to change the partition table type is to "
|
||||
"erase and recreate the partition table from scratch, "
|
||||
"which destroys all data on the storage device.<br>"
|
||||
"This installer will keep the current partition table "
|
||||
"unless you explicitly choose otherwise.<br>"
|
||||
"If unsure, on modern systems GPT is preferred." ) );
|
||||
|
||||
bool isEfi = false;
|
||||
if ( QDir( "/sys/firmware/efi/efivars" ).exists() )
|
||||
isEfi = true;
|
||||
CALAMARES_RETRANSLATE( retranslateUi(); )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DeviceInfoWidget::setPartitionTableType( PartitionTable::TableType type )
|
||||
{
|
||||
QString typeString = PartitionTable::tableTypeToName( type ).toUpper();
|
||||
m_tableType = type;
|
||||
retranslateUi();
|
||||
}
|
||||
|
||||
void
|
||||
DeviceInfoWidget::retranslateUi()
|
||||
{
|
||||
QString typeString = PartitionTable::tableTypeToName( m_tableType ).toUpper();
|
||||
|
||||
// fix up if the name shouldn't be uppercase:
|
||||
switch ( type )
|
||||
switch ( m_tableType )
|
||||
{
|
||||
case PartitionTable::msdos:
|
||||
case PartitionTable::msdos_sectorbased:
|
||||
@ -108,7 +107,7 @@ DeviceInfoWidget::setPartitionTableType( PartitionTable::TableType type )
|
||||
"table." )
|
||||
.arg( typeString );
|
||||
|
||||
switch ( type )
|
||||
switch ( m_tableType )
|
||||
{
|
||||
case PartitionTable::loop:
|
||||
toolTipString = tr( "This is a <strong>loop</strong> "
|
||||
@ -146,5 +145,13 @@ DeviceInfoWidget::setPartitionTableType( PartitionTable::TableType type )
|
||||
|
||||
m_ptLabel->setText( typeString );
|
||||
m_ptLabel->setToolTip( toolTipString );
|
||||
}
|
||||
|
||||
m_ptIcon->setToolTip( tr( "The type of <strong>partition table</strong> on the "
|
||||
"selected storage device.<br><br>"
|
||||
"The only way to change the partition table type is to "
|
||||
"erase and recreate the partition table from scratch, "
|
||||
"which destroys all data on the storage device.<br>"
|
||||
"This installer will keep the current partition table "
|
||||
"unless you explicitly choose otherwise.<br>"
|
||||
"If unsure, on modern systems GPT is preferred." ) );
|
||||
}
|
||||
|
@ -34,9 +34,13 @@ public:
|
||||
|
||||
void setPartitionTableType( PartitionTable::TableType type );
|
||||
|
||||
public slots:
|
||||
void retranslateUi();
|
||||
|
||||
private:
|
||||
QLabel* m_ptIcon;
|
||||
QLabel* m_ptLabel;
|
||||
PartitionTable::TableType m_tableType;
|
||||
};
|
||||
|
||||
#endif // DEVICEINFOWIDGET_H
|
||||
|
Loading…
Reference in New Issue
Block a user