Skip to content
API Documentation
BastionGuard™
AboutWindow Class Reference
Inheritance diagram for AboutWindow:

Public Member Functions

 AboutWindow (Gtk.Window parent)

Private Attributes

int def_width = 440
int def_height = 430

Detailed Description

Definition at line 1407 of file MainWindow.vala.

Constructor & Destructor Documentation

◆ AboutWindow()

AboutWindow.AboutWindow ( Gtk.Window parent)
inline

Definition at line 1412 of file MainWindow.vala.

1412 {
1413
1414 Object(
1415 title: _("About"),
1416 modal: true,
1417 transient_for: parent
1418 );
1419
1420 this.set_default_size(def_width, def_height);
1421 this.set_size_request(def_width, def_height);
1422 this.resizable = false;
1423 this.set_icon_name("bastionguard-backup");
1424 this.set_titlebar(HeaderFactory.create_main_headerbar(this, 0));
1425
1426 var root = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
1427 set_child(root);
1428
1429 var outer = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
1430 outer.margin_start = 18;
1431 outer.margin_end = 18;
1432 outer.margin_top = 18;
1433 outer.margin_bottom = 18;
1434 outer.get_style_context().add_class("card");
1435 root.append(outer);
1436
1437 var content = new Gtk.Box(Gtk.Orientation.VERTICAL, 10);
1438 content.margin_top = 12;
1439 content.margin_bottom = 12;
1440 content.margin_start = 18;
1441 content.margin_end = 18;
1442 outer.append(content);
1443
1444 Gtk.Widget logo_widget;
1445 try {
1446 var pix = IconManager.lookup("bastionguard-backup", 96);
1447 var img = new Gtk.Image.from_pixbuf(pix);
1448 logo_widget = img;
1449 }
1450 catch (Error e) {
1451 logo_widget = IconManager.lookup_image("help-about-symbolic", 96);
1452 }
1453 content.append(logo_widget);
1454
1455 var lbl_title = new Gtk.Label("BastionGuard™ Backup");
1456 lbl_title.get_style_context().add_class("title");
1457 lbl_title.set_justify(Gtk.Justification.CENTER);
1458 lbl_title.set_xalign(0.5f);
1459 content.append(lbl_title);
1460
1461 var lbl_version = new Gtk.Label(AppVersion);
1462 lbl_version.set_xalign(0.5f);
1463 content.append(lbl_version);
1464
1465 var lbl_desc = new Gtk.Label(_("System Restore Utility"));
1466 lbl_desc.set_xalign(0.5f);
1467 lbl_desc.set_justify(Gtk.Justification.CENTER);
1468 lbl_desc.wrap = true;
1469 content.append(lbl_desc);
1470
1471 var link = new Gtk.LinkButton.with_label("https://bastionguard.eu", "bastionguard.eu");
1472 link.set_halign(Gtk.Align.CENTER);
1473 link.activate_link.connect(() => {
1474 TeeJee.System.xdg_open("https://bastionguard.eu");
1475 return true;
1476 });
1477 content.append(link);
1478
1479 var lbl_copy = new Gtk.Label(
1480 "© 2025–2026 BastionGuard™. All Rights Reserved."
1481 );
1482 lbl_copy.set_xalign(0.5f);
1483 lbl_copy.set_justify(Gtk.Justification.CENTER);
1484 lbl_copy.wrap = true;
1485 content.append(lbl_copy);
1486
1487 var lbl_trademark = new Gtk.Label(
1488 "BastionGuard was filed by Calogero Scarnà with the Italian Patent and Trademark Office (UIBM) on 16/12/2025 – Application No. 302025000196519.\n"
1489 + "The BastionGuard™ name and branding are not licensed under the GPLv3."
1490 );
1491 lbl_trademark.set_xalign(0.5f);
1492 lbl_trademark.set_justify(Gtk.Justification.CENTER);
1493 lbl_trademark.wrap = true;
1494 content.append(lbl_trademark);
1495
1496 var lbl_license = new Gtk.Label(
1497 _("BastionGuard Backup is a fork of Timeshift by Tony George.\nThis program is free software licensed under GNU GPL v2 or later.")
1498 );
1499 lbl_license.set_xalign(0.5f);
1500 lbl_license.set_justify(Gtk.Justification.CENTER);
1501 lbl_license.wrap = true;
1502 content.append(lbl_license);
1503
1504 var actions = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 8);
1505 actions.set_halign(Gtk.Align.CENTER);
1506 actions.margin_top = 8;
1507 content.append(actions);
1508
1509 var btn_close = new Gtk.Button.with_label(_("Close"));
1510 btn_close.set_size_request(120, -1);
1511 btn_close.get_style_context().add_class("suggested-action");
1512 btn_close.clicked.connect(() => { this.destroy(); });
1513 actions.append(btn_close);
1514 }
#define _(s)

References _, HeaderFactory.create_main_headerbar(), def_height, def_width, Error, IconManager.lookup(), and IconManager.lookup_image().

Member Data Documentation

◆ def_height

int AboutWindow.def_height = 430
private

Definition at line 1410 of file MainWindow.vala.

Referenced by AboutWindow().

◆ def_width

int AboutWindow.def_width = 440
private

Definition at line 1409 of file MainWindow.vala.

Referenced by AboutWindow().


The documentation for this class was generated from the following file: