mirror of
https://github.com/parchlinux/calamares.git
synced 2025-06-30 10:55:37 -04:00
[keyboard] Refactor writing-various-files
- put the writing of each kind of file in its own block -- this should become separate functions -- so that variables become more local and debugging can be improved. - while here, fix the error message for /etc/default/keyboard: it would complain and name the vconsole file path if it ever failed.
This commit is contained in:
parent
3e51d77782
commit
845fb3f6da
1 changed files with 58 additions and 45 deletions
|
@ -337,9 +337,30 @@ SetKeyboardLayoutJob::exec()
|
|||
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
QDir destDir( gs->value( "rootMountPoint" ).toString() );
|
||||
|
||||
{
|
||||
// Get the path to the destination's /etc/vconsole.conf
|
||||
QString vconsoleConfPath = destDir.absoluteFilePath( "etc/vconsole.conf" );
|
||||
|
||||
// Get the path to the destination's path to the converted key mappings
|
||||
QString convertedKeymapPath = m_convertedKeymapPath;
|
||||
if ( !convertedKeymapPath.isEmpty() )
|
||||
{
|
||||
while ( convertedKeymapPath.startsWith( '/' ) )
|
||||
{
|
||||
convertedKeymapPath.remove( 0, 1 );
|
||||
}
|
||||
convertedKeymapPath = destDir.absoluteFilePath( convertedKeymapPath );
|
||||
}
|
||||
|
||||
cDebug() << "Writing VCONSOLE data to" << vconsoleConfPath << convertedKeymapPath;
|
||||
if ( !writeVConsoleData( vconsoleConfPath, convertedKeymapPath ) )
|
||||
{
|
||||
return Calamares::JobResult::error( tr( "Failed to write keyboard configuration for the virtual console." ),
|
||||
tr( "Failed to write to %1" ).arg( vconsoleConfPath ) );
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// Get the path to the destination's /etc/X11/xorg.conf.d/00-keyboard.conf
|
||||
QString xorgConfDPath;
|
||||
QString keyboardConfPath;
|
||||
|
@ -360,37 +381,29 @@ SetKeyboardLayoutJob::exec()
|
|||
}
|
||||
destDir.mkpath( xorgConfDPath );
|
||||
|
||||
if ( !writeX11Data( keyboardConfPath ) )
|
||||
{
|
||||
return Calamares::JobResult::error( tr( "Failed to write keyboard configuration for X11." ),
|
||||
tr( "Failed to write to %1" ).arg( keyboardConfPath ) );
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
QString defaultKeyboardPath;
|
||||
if ( QDir( destDir.absoluteFilePath( "etc/default" ) ).exists() )
|
||||
{
|
||||
defaultKeyboardPath = destDir.absoluteFilePath( "etc/default/keyboard" );
|
||||
}
|
||||
|
||||
// Get the path to the destination's path to the converted key mappings
|
||||
QString convertedKeymapPath = m_convertedKeymapPath;
|
||||
if ( !convertedKeymapPath.isEmpty() )
|
||||
{
|
||||
while ( convertedKeymapPath.startsWith( '/' ) )
|
||||
{
|
||||
convertedKeymapPath.remove( 0, 1 );
|
||||
}
|
||||
convertedKeymapPath = destDir.absoluteFilePath( convertedKeymapPath );
|
||||
}
|
||||
|
||||
if ( !writeVConsoleData( vconsoleConfPath, convertedKeymapPath ) )
|
||||
return Calamares::JobResult::error( tr( "Failed to write keyboard configuration for the virtual console." ),
|
||||
tr( "Failed to write to %1" ).arg( vconsoleConfPath ) );
|
||||
|
||||
if ( !writeX11Data( keyboardConfPath ) )
|
||||
return Calamares::JobResult::error( tr( "Failed to write keyboard configuration for X11." ),
|
||||
tr( "Failed to write to %1" ).arg( keyboardConfPath ) );
|
||||
|
||||
if ( !defaultKeyboardPath.isEmpty() && m_writeEtcDefaultKeyboard )
|
||||
{
|
||||
if ( !writeDefaultKeyboardData( defaultKeyboardPath ) )
|
||||
{
|
||||
return Calamares::JobResult::error(
|
||||
tr( "Failed to write keyboard configuration to existing /etc/default directory." ),
|
||||
tr( "Failed to write to %1" ).arg( keyboardConfPath ) );
|
||||
tr( "Failed to write to %1" ).arg( defaultKeyboardPath ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Calamares::JobResult::ok();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue