mirror of
https://github.com/linuxmint/timeshift.git
synced 2024-09-17 11:57:17 +03:00
Moved bootloader options to a separate window
This commit is contained in:
parent
56f99394ba
commit
e45f78da54
@ -1525,9 +1525,42 @@ public class Main : GLib.Object{
|
||||
return strcmp(a.mount_point, b.mount_point);
|
||||
});
|
||||
|
||||
init_boot_options(); // boot options depend on the mount list
|
||||
|
||||
log_debug("Main: init_mount_list(): exit");
|
||||
}
|
||||
|
||||
private void init_boot_options(){
|
||||
|
||||
var grub_dev = dst_root;
|
||||
grub_device = grub_dev.device;
|
||||
|
||||
while ((grub_dev != null) && grub_dev.has_parent()){
|
||||
grub_dev = grub_dev.parent;
|
||||
grub_device = grub_dev.device;
|
||||
}
|
||||
|
||||
if (mirror_system){
|
||||
// bootloader must be re-installed
|
||||
reinstall_grub2 = true;
|
||||
update_initramfs = true;
|
||||
update_grub = true;
|
||||
}
|
||||
else{
|
||||
if (App.snapshot_to_restore.distro.dist_id == "fedora"){
|
||||
// grub2-install should never be run on EFI fedora systems
|
||||
reinstall_grub2 = false;
|
||||
update_initramfs = false;
|
||||
update_grub = true;
|
||||
}
|
||||
else{
|
||||
reinstall_grub2 = true;
|
||||
update_initramfs = false;
|
||||
update_grub = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool restore_snapshot(Gtk.Window? parent_win){
|
||||
|
||||
log_debug("Main: restore_snapshot()");
|
||||
|
273
src/Gtk/BootOptionsBox.vala
Normal file
273
src/Gtk/BootOptionsBox.vala
Normal file
@ -0,0 +1,273 @@
|
||||
|
||||
/*
|
||||
* RestoreDeviceBox.vala
|
||||
*
|
||||
* Copyright 2016 Tony George <tony.george.kol@gmail.com>
|
||||
*
|
||||
* 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 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
using Gtk;
|
||||
using Gee;
|
||||
|
||||
using TeeJee.Logging;
|
||||
using TeeJee.FileSystem;
|
||||
using TeeJee.JsonHelper;
|
||||
using TeeJee.ProcessHelper;
|
||||
using TeeJee.GtkHelper;
|
||||
using TeeJee.System;
|
||||
using TeeJee.Misc;
|
||||
|
||||
class BootOptionsBox : Gtk.Box{
|
||||
|
||||
private Gtk.Box option_box;
|
||||
private Gtk.ComboBox cmb_grub_dev;
|
||||
|
||||
private Gtk.CheckButton chk_reinstall_grub;
|
||||
private Gtk.CheckButton chk_update_initramfs;
|
||||
private Gtk.CheckButton chk_update_grub;
|
||||
private Gtk.Window parent_window;
|
||||
|
||||
public BootOptionsBox (Gtk.Window _parent_window) {
|
||||
|
||||
log_debug("BootOptionsBox: BootOptionsBox()");
|
||||
|
||||
//base(Gtk.Orientation.VERTICAL, 6); // issue with vala
|
||||
Object(orientation: Gtk.Orientation.VERTICAL, spacing: 6); // work-around
|
||||
parent_window = _parent_window;
|
||||
margin = 12;
|
||||
|
||||
// options
|
||||
option_box = new Gtk.Box(Gtk.Orientation.VERTICAL, 6);
|
||||
add(option_box);
|
||||
|
||||
add_bootloader_options();
|
||||
|
||||
refresh_options();
|
||||
|
||||
log_debug("BootOptionsBox: BootOptionsBox(): exit");
|
||||
}
|
||||
|
||||
private void add_bootloader_options(){
|
||||
|
||||
// header
|
||||
//var label = add_label_header(this, _("Select Bootloader Options"), true);
|
||||
|
||||
add_chk_reinstall_grub();
|
||||
|
||||
var hbox = new Box (Orientation.HORIZONTAL, 6);
|
||||
hbox.margin_left = 12;
|
||||
add (hbox);
|
||||
|
||||
//cmb_grub_dev
|
||||
cmb_grub_dev = new ComboBox ();
|
||||
cmb_grub_dev.hexpand = true;
|
||||
hbox.add(cmb_grub_dev);
|
||||
|
||||
var cell_text = new CellRendererText ();
|
||||
cell_text.text = "";
|
||||
cmb_grub_dev.pack_start(cell_text, false);
|
||||
|
||||
cell_text = new CellRendererText();
|
||||
cmb_grub_dev.pack_start(cell_text, false);
|
||||
|
||||
cmb_grub_dev.set_cell_data_func(cell_text, (cell_layout, cell, model, iter)=>{
|
||||
Device dev;
|
||||
model.get (iter, 0, out dev, -1);
|
||||
|
||||
if (dev.type == "disk"){
|
||||
//log_msg("desc:" + dev.description());
|
||||
(cell as Gtk.CellRendererText).markup =
|
||||
"<b>%s (MBR)</b>".printf(dev.description_formatted());
|
||||
}
|
||||
else{
|
||||
(cell as Gtk.CellRendererText).text = dev.description();
|
||||
}
|
||||
});
|
||||
|
||||
cmb_grub_dev.changed.connect(()=>{
|
||||
save_grub_device_selection();
|
||||
});
|
||||
|
||||
/*string tt = "<b>" + _("** Advanced Users **") + "</b>\n\n"+ _("Skips bootloader (re)installation on target device.\nFiles in /boot directory on target partition will remain untouched.\n\nIf you are restoring a system that was bootable previously then it should boot successfully. Otherwise the system may fail to boot.");*/
|
||||
|
||||
hbox = new Gtk.Box (Orientation.HORIZONTAL, 6);
|
||||
add (hbox);
|
||||
|
||||
add_chk_update_initramfs(hbox);
|
||||
|
||||
add_chk_update_grub(hbox);
|
||||
}
|
||||
|
||||
private void add_chk_reinstall_grub(){
|
||||
|
||||
var chk = new CheckButton.with_label(_("(Re)install GRUB2 on:"));
|
||||
chk.active = false;
|
||||
chk.set_tooltip_markup(_("Re-installs the GRUB2 bootloader on the selected device."));
|
||||
//chk.margin_bottom = 12;
|
||||
add (chk);
|
||||
chk_reinstall_grub = chk;
|
||||
|
||||
chk.toggled.connect(()=>{
|
||||
cmb_grub_dev.sensitive = chk_reinstall_grub.active;
|
||||
App.reinstall_grub2 = chk_reinstall_grub.active;
|
||||
cmb_grub_dev.changed();
|
||||
});
|
||||
}
|
||||
|
||||
private void add_chk_update_initramfs(Gtk.Box hbox){
|
||||
|
||||
//chk_update_initramfs
|
||||
var chk = new CheckButton.with_label(_("Update initramfs"));
|
||||
chk.active = false;
|
||||
chk.set_tooltip_markup(_("Re-generates initramfs for all installed kernels. This is generally not needed. Select this only if the restored system fails to boot."));
|
||||
//chk.margin_bottom = 12;
|
||||
add (chk);
|
||||
chk_update_initramfs = chk;
|
||||
|
||||
chk.toggled.connect(()=>{
|
||||
App.update_initramfs = chk_update_initramfs.active;
|
||||
});
|
||||
}
|
||||
|
||||
private void add_chk_update_grub(Gtk.Box hbox){
|
||||
|
||||
//chk_update_grub
|
||||
var chk = new CheckButton.with_label(_("Update GRUB menu"));
|
||||
chk.active = false;
|
||||
chk.set_tooltip_markup(_("Updates the GRUB menu entries (recommended). This is safe to run and should be left selected."));
|
||||
//chk.margin_bottom = 12;
|
||||
add (chk);
|
||||
chk_update_grub = chk;
|
||||
|
||||
chk.toggled.connect(()=>{
|
||||
App.update_grub = chk_update_grub.active;
|
||||
});
|
||||
}
|
||||
|
||||
private void save_grub_device_selection(){
|
||||
|
||||
App.grub_device = "";
|
||||
|
||||
if (App.reinstall_grub2){
|
||||
Device entry;
|
||||
TreeIter iter;
|
||||
bool ok = cmb_grub_dev.get_active_iter (out iter);
|
||||
if (!ok) { return; } // not selected
|
||||
TreeModel model = (TreeModel) cmb_grub_dev.model;
|
||||
model.get(iter, 0, out entry);
|
||||
App.grub_device = entry.device;
|
||||
}
|
||||
}
|
||||
|
||||
private void refresh_options(){
|
||||
|
||||
refresh_cmb_grub_dev();
|
||||
|
||||
chk_reinstall_grub.active = App.reinstall_grub2;
|
||||
cmb_grub_dev.sensitive = chk_reinstall_grub.active;
|
||||
chk_update_initramfs.active = App.update_initramfs;
|
||||
chk_update_grub.active = App.update_grub;
|
||||
|
||||
chk_reinstall_grub.sensitive = true;
|
||||
chk_update_initramfs.sensitive = true;
|
||||
chk_update_grub.sensitive = true;
|
||||
|
||||
if (App.mirror_system){
|
||||
// bootloader must be re-installed
|
||||
chk_reinstall_grub.sensitive = false;
|
||||
chk_update_initramfs.sensitive = false;
|
||||
chk_update_grub.sensitive = false;
|
||||
}
|
||||
else{
|
||||
if (App.snapshot_to_restore.distro.dist_id == "fedora"){
|
||||
// grub2-install should never be run on EFI fedora systems
|
||||
chk_reinstall_grub.sensitive = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void refresh_cmb_grub_dev(){
|
||||
var store = new Gtk.ListStore(2, typeof(Device), typeof(Gdk.Pixbuf));
|
||||
|
||||
Gdk.Pixbuf pix_device = get_shared_icon("drive-harddisk","disk.png",16).pixbuf;
|
||||
|
||||
TreeIter iter;
|
||||
foreach(Device dev in Device.get_block_devices_using_lsblk()) {
|
||||
|
||||
// select disk and normal partitions, skip others (loop crypt rom lvm)
|
||||
if ((dev.type != "disk") && (dev.type != "part")){
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip luks and lvm2 partitions
|
||||
if ((dev.fstype == "luks")||(dev.fstype == "lvm2")){
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip extended partitions
|
||||
if (dev.size_bytes < 10 * KB){
|
||||
continue;
|
||||
}
|
||||
|
||||
store.append(out iter);
|
||||
store.set (iter, 0, dev);
|
||||
store.set (iter, 1, pix_device);
|
||||
}
|
||||
|
||||
cmb_grub_dev.model = store;
|
||||
|
||||
cmb_grub_dev_select_default();
|
||||
}
|
||||
|
||||
private void cmb_grub_dev_select_default(){
|
||||
|
||||
if ((cmb_grub_dev == null) || (cmb_grub_dev.model == null)){
|
||||
return;
|
||||
}
|
||||
|
||||
log_debug("BootOptionsBox: cmb_grub_dev_select_default()");
|
||||
|
||||
if (App.grub_device.length == 0){
|
||||
cmb_grub_dev.active = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
TreeIter iter;
|
||||
var store = (Gtk.ListStore) cmb_grub_dev.model;
|
||||
int index = -1;
|
||||
int active = -1;
|
||||
|
||||
for (bool next = store.get_iter_first (out iter); next; next = store.iter_next (ref iter)) {
|
||||
|
||||
Device dev_iter;
|
||||
store.get(iter, 0, out dev_iter);
|
||||
|
||||
index++;
|
||||
|
||||
if (dev_iter.device == App.grub_device){
|
||||
active = index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
cmb_grub_dev.active = active;
|
||||
|
||||
log_debug("BootOptionsBox: cmb_grub_dev_select_default(): exit");
|
||||
}
|
||||
}
|
119
src/Gtk/BootOptionsWindow.vala
Normal file
119
src/Gtk/BootOptionsWindow.vala
Normal file
@ -0,0 +1,119 @@
|
||||
/*
|
||||
* BootOptionsWindow.vala
|
||||
*
|
||||
* Copyright 2016 Tony George <teejee@tony-pc>
|
||||
*
|
||||
* 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 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
using Gtk;
|
||||
using Gee;
|
||||
|
||||
using TeeJee.Logging;
|
||||
using TeeJee.FileSystem;
|
||||
using TeeJee.JsonHelper;
|
||||
using TeeJee.ProcessHelper;
|
||||
using TeeJee.GtkHelper;
|
||||
using TeeJee.System;
|
||||
using TeeJee.Misc;
|
||||
|
||||
class BootOptionsWindow : Gtk.Window{
|
||||
private Gtk.Box vbox_main;
|
||||
private Gtk.ButtonBox bbox_action;
|
||||
private BootOptionsBox boot_options_box;
|
||||
|
||||
private uint tmr_init;
|
||||
private int def_width = 450;
|
||||
private int def_height = 500;
|
||||
|
||||
public BootOptionsWindow() {
|
||||
|
||||
log_debug("BootOptionsWindow: BootOptionsWindow()");
|
||||
|
||||
this.title = _("Bootloader Options");
|
||||
this.window_position = WindowPosition.CENTER;
|
||||
this.modal = true;
|
||||
//this.set_default_size (def_width, def_height);
|
||||
this.icon = get_app_icon(16);
|
||||
|
||||
this.delete_event.connect(on_delete_event);
|
||||
|
||||
// vbox_main
|
||||
vbox_main = new Box (Orientation.VERTICAL, 6);
|
||||
vbox_main.margin = 12;
|
||||
add(vbox_main);
|
||||
|
||||
boot_options_box = new BootOptionsBox(this);
|
||||
boot_options_box.margin = 0;
|
||||
vbox_main.add(boot_options_box);
|
||||
|
||||
create_actions();
|
||||
|
||||
show_all();
|
||||
|
||||
tmr_init = Timeout.add(100, init_delayed);
|
||||
|
||||
log_debug("BootOptionsWindow: BootOptionsWindow(): exit");
|
||||
}
|
||||
|
||||
private bool init_delayed(){
|
||||
|
||||
if (tmr_init > 0){
|
||||
Source.remove(tmr_init);
|
||||
tmr_init = 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool on_delete_event(Gdk.EventAny event){
|
||||
|
||||
//save_changes();
|
||||
|
||||
return false; // close window
|
||||
}
|
||||
|
||||
private void save_changes(){
|
||||
//App.cron_job_update();
|
||||
}
|
||||
|
||||
private void create_actions(){
|
||||
|
||||
var hbox = new Gtk.ButtonBox (Gtk.Orientation.HORIZONTAL);
|
||||
hbox.margin = 0;
|
||||
hbox.margin_top = 24;
|
||||
vbox_main.add(hbox);
|
||||
|
||||
Gtk.SizeGroup size_group = null;
|
||||
|
||||
// close
|
||||
|
||||
var img = new Image.from_stock("gtk-close", Gtk.IconSize.BUTTON);
|
||||
var btn_close = add_button(hbox, _("Close"), "", ref size_group, img);
|
||||
//hbox.set_child_packing(btn_close, false, true, 6, Gtk.PackType.END);
|
||||
|
||||
btn_close.clicked.connect(()=>{
|
||||
save_changes();
|
||||
this.destroy();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -116,8 +116,8 @@ class RestoreDeviceBox : Gtk.Box{
|
||||
add(option_box);
|
||||
|
||||
// bootloader
|
||||
|
||||
add_bootloader_options();
|
||||
|
||||
add_boot_options();
|
||||
|
||||
// infobar
|
||||
|
||||
@ -414,60 +414,37 @@ class RestoreDeviceBox : Gtk.Box{
|
||||
return combo;
|
||||
}
|
||||
|
||||
private void add_bootloader_options(){
|
||||
private void add_boot_options(){
|
||||
|
||||
//lbl_header_bootloader
|
||||
var label = add_label_header(this, _("Select Bootloader Options"), true);
|
||||
label.margin_top = 24;
|
||||
// buffer
|
||||
var label = new Gtk.Label("");
|
||||
label.vexpand = true;
|
||||
add(label);
|
||||
|
||||
//add_label(this, _("Select device for installing GRUB2 bootloader:"));
|
||||
var hbox = new Gtk.ButtonBox (Gtk.Orientation.HORIZONTAL);
|
||||
hbox.margin_bottom = 24;
|
||||
add(hbox);
|
||||
|
||||
add_chk_reinstall_grub();
|
||||
Gtk.SizeGroup size_group = null;
|
||||
|
||||
var hbox = new Box (Orientation.HORIZONTAL, 6);
|
||||
hbox.margin_left = 12;
|
||||
add (hbox);
|
||||
|
||||
//cmb_grub_dev
|
||||
cmb_grub_dev = new ComboBox ();
|
||||
cmb_grub_dev.hexpand = true;
|
||||
hbox.add(cmb_grub_dev);
|
||||
// close
|
||||
|
||||
var cell_text = new CellRendererText ();
|
||||
cell_text.text = "";
|
||||
cmb_grub_dev.pack_start(cell_text, false);
|
||||
|
||||
cell_text = new CellRendererText();
|
||||
cmb_grub_dev.pack_start(cell_text, false);
|
||||
|
||||
cmb_grub_dev.set_cell_data_func(cell_text, (cell_layout, cell, model, iter)=>{
|
||||
Device dev;
|
||||
model.get (iter, 0, out dev, -1);
|
||||
|
||||
if (dev.type == "disk"){
|
||||
//log_msg("desc:" + dev.description());
|
||||
(cell as Gtk.CellRendererText).markup =
|
||||
"<b>%s (MBR)</b>".printf(dev.description_formatted());
|
||||
}
|
||||
else{
|
||||
(cell as Gtk.CellRendererText).text = dev.description();
|
||||
}
|
||||
//var img = new Image.from_stock("gtk-dialog-warning", Gtk.IconSize.BUTTON);
|
||||
var button = add_button(hbox, _("Bootloader Options (Advanced)"), "", ref size_group, null);
|
||||
button.set_size_request(300, 40);
|
||||
button.set_tooltip_text(_("[Advanced Users Only] Change these settings only if the restored system fails to boot."));
|
||||
var btn_boot_options = button;
|
||||
//hbox.set_child_packing(btn_boot_options, false, true, 6, Gtk.PackType.END);
|
||||
|
||||
btn_boot_options.clicked.connect(()=>{
|
||||
var win = new BootOptionsWindow();
|
||||
win.set_transient_for(parent_window);
|
||||
//win.destroy.connect(()=>{
|
||||
|
||||
//});;
|
||||
});
|
||||
|
||||
cmb_grub_dev.changed.connect(()=>{
|
||||
save_grub_device_selection();
|
||||
});
|
||||
|
||||
/*string tt = "<b>" + _("** Advanced Users **") + "</b>\n\n"+ _("Skips bootloader (re)installation on target device.\nFiles in /boot directory on target partition will remain untouched.\n\nIf you are restoring a system that was bootable previously then it should boot successfully. Otherwise the system may fail to boot.");*/
|
||||
|
||||
hbox = new Gtk.Box (Orientation.HORIZONTAL, 6);
|
||||
add (hbox);
|
||||
|
||||
add_chk_update_initramfs(hbox);
|
||||
|
||||
add_chk_update_grub(hbox);
|
||||
}
|
||||
|
||||
|
||||
private void add_chk_reinstall_grub(){
|
||||
|
||||
//chk_reinstall_grub
|
||||
|
Binary file not shown.
161
timeshift.pot
161
timeshift.pot
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: timeshift 1.6\n"
|
||||
"Report-Msgid-Bugs-To: teejeetech@gmail.com\n"
|
||||
"POT-Creation-Date: 2016-11-06 16:09+0530\n"
|
||||
"POT-Creation-Date: 2016-11-06 19:47+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -33,23 +33,23 @@ msgstr ""
|
||||
msgid "'%s' will be on root device"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:474
|
||||
#: Gtk/RestoreDeviceBox.vala:451 Gtk/BootOptionsBox.vala:119
|
||||
msgid "(Re)install GRUB2 on:"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2532
|
||||
#: Core/Main.vala:2565
|
||||
msgid "/ is mapped to device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2554
|
||||
#: Core/Main.vala:2587
|
||||
msgid "/boot is mapped to device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2565
|
||||
#: Core/Main.vala:2598
|
||||
msgid "/boot/efi is mapped to device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2543
|
||||
#: Core/Main.vala:2576
|
||||
msgid "/home is mapped to device"
|
||||
msgstr ""
|
||||
|
||||
@ -154,11 +154,11 @@ msgstr ""
|
||||
msgid "Answer YES to all confirmation prompts"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2426
|
||||
#: Core/Main.vala:2459
|
||||
msgid "App config loaded"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2345
|
||||
#: Core/Main.vala:2378
|
||||
msgid "App config saved"
|
||||
msgstr ""
|
||||
|
||||
@ -166,7 +166,7 @@ msgstr ""
|
||||
msgid "Application needs admin access."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2702
|
||||
#: Core/Main.vala:2735
|
||||
msgid "Application will exit"
|
||||
msgstr ""
|
||||
|
||||
@ -192,11 +192,11 @@ msgstr ""
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1547
|
||||
#: Core/Main.vala:1580
|
||||
msgid "Backup Device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1542
|
||||
#: Core/Main.vala:1575
|
||||
msgid "Backup device not specified!"
|
||||
msgstr ""
|
||||
|
||||
@ -220,6 +220,14 @@ msgstr ""
|
||||
msgid "Boot snapshots are enabled"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/BootOptionsWindow.vala:48
|
||||
msgid "Bootloader Options"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:433
|
||||
msgid "Bootloader Options (Advanced)"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/MainWindow.vala:163
|
||||
msgid "Browse"
|
||||
msgstr ""
|
||||
@ -232,7 +240,7 @@ msgstr ""
|
||||
msgid "Browse selected snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2059
|
||||
#: Core/Main.vala:2092
|
||||
msgid "Building file list..."
|
||||
msgstr ""
|
||||
|
||||
@ -266,7 +274,7 @@ msgstr ""
|
||||
msgid "Checksum"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1945
|
||||
#: Core/Main.vala:1978
|
||||
msgid "Cleaning up..."
|
||||
msgstr ""
|
||||
|
||||
@ -286,13 +294,14 @@ msgstr ""
|
||||
msgid "Cloning System..."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1757
|
||||
#: Core/Main.vala:1790
|
||||
msgid "Cloning system..."
|
||||
msgstr ""
|
||||
|
||||
#: Utility/Gtk/AboutWindow.vala:305 Gtk/DeleteWindow.vala:156
|
||||
#: Gtk/SettingsWindow.vala:130 Gtk/RestoreWindow.vala:175
|
||||
#: Gtk/RsyncLogWindow.vala:249 Gtk/BackupWindow.vala:156
|
||||
#: Utility/Gtk/AboutWindow.vala:305 Gtk/BootOptionsWindow.vala:107
|
||||
#: Gtk/DeleteWindow.vala:156 Gtk/SettingsWindow.vala:130
|
||||
#: Gtk/RestoreWindow.vala:175 Gtk/RsyncLogWindow.vala:249
|
||||
#: Gtk/BackupWindow.vala:156
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@ -327,7 +336,7 @@ msgid "Contributions"
|
||||
msgstr ""
|
||||
|
||||
#: Console/AppConsole.vala:605 Console/AppConsole.vala:771
|
||||
#: Console/AppConsole.vala:897 Core/Main.vala:2470
|
||||
#: Console/AppConsole.vala:897 Core/Main.vala:2503
|
||||
msgid "Could not find device"
|
||||
msgstr ""
|
||||
|
||||
@ -390,7 +399,7 @@ msgstr ""
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2701
|
||||
#: Core/Main.vala:2734
|
||||
msgid "Critical Error"
|
||||
msgstr ""
|
||||
|
||||
@ -414,7 +423,7 @@ msgstr ""
|
||||
msgid "Daily snapshots are enabled"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1621
|
||||
#: Core/Main.vala:1654
|
||||
msgid "Data will be modified on following devices:"
|
||||
msgstr ""
|
||||
|
||||
@ -456,7 +465,7 @@ msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: Console/AppConsole.vala:411 Console/AppConsole.vala:450
|
||||
#: Console/AppConsole.vala:498 Core/Main.vala:1624 Core/Main.vala:1646
|
||||
#: Console/AppConsole.vala:498 Core/Main.vala:1657 Core/Main.vala:1679
|
||||
#: Core/SnapshotRepo.vala:46 Core/SnapshotRepo.vala:527
|
||||
#: Core/SnapshotRepo.vala:530 Utility/Device.vala:1727 Utility/Device.vala:1737
|
||||
#: Gtk/RestoreDeviceBox.vala:104
|
||||
@ -509,7 +518,7 @@ msgstr ""
|
||||
msgid "Directory not found"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1697 Gtk/RestoreSummaryBox.vala:64
|
||||
#: Core/Main.vala:1730 Gtk/RestoreSummaryBox.vala:64
|
||||
msgid "Disclaimer"
|
||||
msgstr ""
|
||||
|
||||
@ -583,7 +592,7 @@ msgstr ""
|
||||
msgid "Enter snapshot number (a=Abort, p=Previous, n=Next)"
|
||||
msgstr ""
|
||||
|
||||
#: Utility/GtkHelper.vala:18 Gtk/RestoreDeviceBox.vala:714
|
||||
#: Utility/GtkHelper.vala:18 Gtk/RestoreDeviceBox.vala:691
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
@ -647,7 +656,7 @@ msgstr ""
|
||||
msgid "Failed to delete symlinks"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2855 Core/Main.vala:2861
|
||||
#: Core/Main.vala:2888 Core/Main.vala:2894
|
||||
msgid "Failed to estimate system size"
|
||||
msgstr ""
|
||||
|
||||
@ -665,7 +674,7 @@ msgstr ""
|
||||
msgid "Failed to get partition list"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2508
|
||||
#: Core/Main.vala:2541
|
||||
msgid "Failed to get partition list."
|
||||
msgstr ""
|
||||
|
||||
@ -673,7 +682,7 @@ msgstr ""
|
||||
msgid "Failed to install crontab file"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:715
|
||||
#: Gtk/RestoreDeviceBox.vala:692
|
||||
msgid "Failed to mount devices"
|
||||
msgstr ""
|
||||
|
||||
@ -710,7 +719,7 @@ msgstr ""
|
||||
msgid "Failed to unmount"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2702
|
||||
#: Core/Main.vala:2735
|
||||
msgid "Failed to unmount device!"
|
||||
msgstr ""
|
||||
|
||||
@ -795,7 +804,7 @@ msgstr ""
|
||||
msgid "GRUB Device"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:685
|
||||
#: Gtk/RestoreDeviceBox.vala:662
|
||||
msgid "GRUB device not selected"
|
||||
msgstr ""
|
||||
|
||||
@ -803,7 +812,7 @@ msgstr ""
|
||||
msgid "GRUB will NOT be reinstalled"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1911
|
||||
#: Core/Main.vala:1944
|
||||
msgid "Generating initramfs..."
|
||||
msgstr ""
|
||||
|
||||
@ -849,7 +858,7 @@ msgstr ""
|
||||
msgid "Hourly snapshots are enabled"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1703
|
||||
#: Core/Main.vala:1736
|
||||
msgid ""
|
||||
"If these terms are not acceptable to you, please do not proceed beyond this "
|
||||
"point!"
|
||||
@ -859,7 +868,7 @@ msgstr ""
|
||||
msgid "Include / Exclude Patterns"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1556
|
||||
#: Core/Main.vala:1589
|
||||
msgid "Invalid Snapshot"
|
||||
msgstr ""
|
||||
|
||||
@ -1048,7 +1057,7 @@ msgstr ""
|
||||
msgid "Monthly snapshot failed!"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1623 Core/Main.vala:1646
|
||||
#: Core/Main.vala:1656 Core/Main.vala:1679
|
||||
msgid "Mount"
|
||||
msgstr ""
|
||||
|
||||
@ -1143,7 +1152,7 @@ msgstr ""
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2972
|
||||
#: Core/Main.vala:3005
|
||||
msgid "Older log files removed"
|
||||
msgstr ""
|
||||
|
||||
@ -1151,7 +1160,7 @@ msgstr ""
|
||||
msgid "Oldest snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:326 Core/Main.vala:2621 Gtk/RestoreDeviceBox.vala:705
|
||||
#: Core/Main.vala:326 Core/Main.vala:2654 Gtk/RestoreDeviceBox.vala:682
|
||||
msgid ""
|
||||
"Only ubuntu-type layouts with @ and @home subvolumes are currently supported."
|
||||
msgstr ""
|
||||
@ -1177,16 +1186,16 @@ msgstr ""
|
||||
msgid "Parent Device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1101 Core/Main.vala:2029 Core/Main.vala:2108
|
||||
#: Core/Main.vala:1101 Core/Main.vala:2062 Core/Main.vala:2141
|
||||
#: Gtk/RsyncLogWindow.vala:122
|
||||
msgid "Parsing log file..."
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:672
|
||||
#: Gtk/RestoreDeviceBox.vala:649
|
||||
msgid "Partition Not Selected"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:704
|
||||
#: Gtk/RestoreDeviceBox.vala:681
|
||||
msgid "Partition has an unsupported subvolume layout."
|
||||
msgstr ""
|
||||
|
||||
@ -1211,7 +1220,7 @@ msgstr ""
|
||||
msgid "Please check if you have multiple windows open."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1817
|
||||
#: Core/Main.vala:1850
|
||||
msgid "Please do not interrupt the restore process!"
|
||||
msgstr ""
|
||||
|
||||
@ -1227,7 +1236,7 @@ msgstr ""
|
||||
msgid "Please run the application as admin (using 'sudo' or 'su')"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1685
|
||||
#: Core/Main.vala:1718
|
||||
msgid "Please save your work and close all applications."
|
||||
msgstr ""
|
||||
|
||||
@ -1235,7 +1244,7 @@ msgstr ""
|
||||
msgid "Please select a snapshot to view the log!"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:686
|
||||
#: Gtk/RestoreDeviceBox.vala:663
|
||||
msgid "Please select the GRUB device"
|
||||
msgstr ""
|
||||
|
||||
@ -1265,7 +1274,7 @@ msgstr ""
|
||||
msgid "Print debug information"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:512
|
||||
#: Gtk/RestoreDeviceBox.vala:489 Gtk/BootOptionsBox.vala:138
|
||||
msgid ""
|
||||
"Re-generates initramfs for all installed kernels. This is generally not "
|
||||
"needed. Select this only if the restored system fails to boot."
|
||||
@ -1276,11 +1285,15 @@ msgstr ""
|
||||
msgid "Re-install GRUB2 bootloader? (y/n)"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1869
|
||||
#: Core/Main.vala:1902
|
||||
msgid "Re-installing GRUB2 bootloader..."
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:476
|
||||
#: Gtk/BootOptionsBox.vala:121
|
||||
msgid "Re-installs the GRUB2 bootloader on the selected device."
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:453
|
||||
msgid ""
|
||||
"Re-installs the GRUB2 bootloader on the selected device. This is generally "
|
||||
"not needed. Select this if the restored system fails to boot."
|
||||
@ -1291,7 +1304,7 @@ msgstr ""
|
||||
msgid "Read %'d of %'d lines..."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1960
|
||||
#: Core/Main.vala:1993
|
||||
msgid "Rebooting system..."
|
||||
msgstr ""
|
||||
|
||||
@ -1317,7 +1330,7 @@ msgstr ""
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2737
|
||||
#: Core/Main.vala:2770
|
||||
#, c-format
|
||||
msgid "Removed mount directory: '%s'"
|
||||
msgstr ""
|
||||
@ -1352,11 +1365,11 @@ msgstr ""
|
||||
msgid "Restore Snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1783
|
||||
#: Core/Main.vala:1816
|
||||
msgid "Restore completed"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1787
|
||||
#: Core/Main.vala:1820
|
||||
msgid "Restore completed with errors"
|
||||
msgstr ""
|
||||
|
||||
@ -1372,7 +1385,7 @@ msgstr ""
|
||||
msgid "Restoring Snapshot..."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1754
|
||||
#: Core/Main.vala:1787
|
||||
msgid "Restoring snapshot..."
|
||||
msgstr ""
|
||||
|
||||
@ -1415,10 +1428,6 @@ msgstr ""
|
||||
msgid "Select '%s' device (default = %s)"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:420
|
||||
msgid "Select Bootloader Options"
|
||||
msgstr ""
|
||||
|
||||
#: Console/AppConsole.vala:930
|
||||
msgid "Select GRUB device"
|
||||
msgstr ""
|
||||
@ -1512,7 +1521,7 @@ msgstr ""
|
||||
msgid "Select the intervals for creating snapshots"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:673
|
||||
#: Gtk/RestoreDeviceBox.vala:650
|
||||
msgid "Select the partition for mount path"
|
||||
msgstr ""
|
||||
|
||||
@ -1545,7 +1554,7 @@ msgstr ""
|
||||
msgid "Selected snapshot device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1557
|
||||
#: Core/Main.vala:1590
|
||||
msgid "Selected snapshot is marked for deletion"
|
||||
msgstr ""
|
||||
|
||||
@ -1614,7 +1623,7 @@ msgstr ""
|
||||
msgid "Skip GRUB2 reinstall"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:976 Core/Main.vala:1121 Core/Main.vala:1562
|
||||
#: Core/Main.vala:976 Core/Main.vala:1121 Core/Main.vala:1595
|
||||
#: Core/SnapshotRepo.vala:557 Core/SnapshotRepo.vala:595
|
||||
#: Gtk/SnapshotListBox.vala:91
|
||||
#, c-format
|
||||
@ -1656,7 +1665,7 @@ msgstr ""
|
||||
msgid "Snapshot saved successfully"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1552
|
||||
#: Core/Main.vala:1585
|
||||
msgid "Snapshot to restore not specified!"
|
||||
msgstr ""
|
||||
|
||||
@ -1721,11 +1730,11 @@ msgstr ""
|
||||
msgid "Symlinks updated"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1940
|
||||
#: Core/Main.vala:1973
|
||||
msgid "Synching file systems..."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1049 Core/Main.vala:1760 Core/Main.vala:2097
|
||||
#: Core/Main.vala:1049 Core/Main.vala:1793 Core/Main.vala:2130
|
||||
msgid "Synching files with rsync..."
|
||||
msgstr ""
|
||||
|
||||
@ -1742,11 +1751,11 @@ msgstr ""
|
||||
msgid "System Restore Utility for Linux"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1818
|
||||
#: Core/Main.vala:1851
|
||||
msgid "System will reboot after files are restored"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1686
|
||||
#: Core/Main.vala:1719
|
||||
msgid "System will reboot after files are restored."
|
||||
msgstr ""
|
||||
|
||||
@ -1762,7 +1771,7 @@ msgstr ""
|
||||
msgid "Take scheduled backup"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1576
|
||||
#: Core/Main.vala:1609
|
||||
msgid "Target device is not mounted"
|
||||
msgstr ""
|
||||
|
||||
@ -1770,7 +1779,7 @@ msgstr ""
|
||||
msgid "Target device is same as system device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1570
|
||||
#: Core/Main.vala:1603
|
||||
msgid "Target device not specified!"
|
||||
msgstr ""
|
||||
|
||||
@ -1778,7 +1787,7 @@ msgstr ""
|
||||
msgid "The system partition has an unsupported subvolume layout."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2620
|
||||
#: Core/Main.vala:2653
|
||||
msgid "The target partition has an unsupported subvolume layout."
|
||||
msgstr ""
|
||||
|
||||
@ -1796,7 +1805,7 @@ msgstr ""
|
||||
msgid "This device is not encrypted"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1702
|
||||
#: Core/Main.vala:1735
|
||||
msgid ""
|
||||
"This software comes without absolutely NO warranty and the author takes no "
|
||||
"responsibility for any damage arising from the use of this program."
|
||||
@ -1847,37 +1856,37 @@ msgstr ""
|
||||
msgid "Unmounting from"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2624 Gtk/RestoreDeviceBox.vala:702
|
||||
#: Core/Main.vala:2657 Gtk/RestoreDeviceBox.vala:679
|
||||
msgid "Unsupported Subvolume Layout"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:537
|
||||
#: Gtk/RestoreDeviceBox.vala:514 Gtk/BootOptionsBox.vala:151
|
||||
msgid "Update GRUB menu"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:510
|
||||
#: Gtk/RestoreDeviceBox.vala:487 Gtk/BootOptionsBox.vala:136
|
||||
msgid "Update initramfs"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2270
|
||||
#: Core/Main.vala:2303
|
||||
msgid "Updated /etc/crypttab on target device"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2190
|
||||
#: Core/Main.vala:2223
|
||||
msgid "Updated /etc/fstab on target device"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:539
|
||||
#: Gtk/RestoreDeviceBox.vala:516 Gtk/BootOptionsBox.vala:153
|
||||
msgid ""
|
||||
"Updates the GRUB menu entries (recommended). This is safe to run and should "
|
||||
"be left selected."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1927
|
||||
#: Core/Main.vala:1960
|
||||
msgid "Updating GRUB menu..."
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:2116
|
||||
#: Core/Main.vala:2149
|
||||
msgid "Updating bootloader configuration..."
|
||||
msgstr ""
|
||||
|
||||
@ -1927,7 +1936,7 @@ msgstr ""
|
||||
msgid "W"
|
||||
msgstr ""
|
||||
|
||||
#: Core/Main.vala:1616 Gtk/RestoreSummaryBox.vala:53
|
||||
#: Core/Main.vala:1649 Gtk/RestoreSummaryBox.vala:53
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
@ -1955,6 +1964,12 @@ msgstr ""
|
||||
msgid "Wrong password"
|
||||
msgstr ""
|
||||
|
||||
#: Gtk/RestoreDeviceBox.vala:435
|
||||
msgid ""
|
||||
"[Advanced Users Only] Change these settings only if the restored system "
|
||||
"fails to boot."
|
||||
msgstr ""
|
||||
|
||||
#: Utility/AppLock.vala:55
|
||||
msgid "[Warning] Deleted invalid lock"
|
||||
msgstr ""
|
||||
|
Loading…
Reference in New Issue
Block a user