diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index ee53e1772..b4b109e9c 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -936,22 +936,40 @@ hdd_30min 30 min. hdd_5min 5 min. hdd_60min 60 min. hdd_activate Übernehmen +hdd_allow_set_recdir Erlaube sofort Aufnahmen hdd_check Dateisystemprüfung hdd_check_failed Datenträgerprüfung fehlgeschlagen hdd_extended_settings Erweiterte Einstellungen hdd_fast Schnell hdd_format Formatiere Datenträger hdd_format_failed Formatierung fehlgeschlagen! Stellen Sie sicher, dass der Datenträger nicht in Verwendung ist und versuchen Sie es erneut. +hdd_format_on_mount_failed Formatieren bei Einhänge-Fehler hdd_format_warn Alle Daten auf dem Datenträger werden gelöscht! Formatierung starten? hdd_fs Dateisystem zum formatieren -hdd_manage Laufwerke verwalten +hdd_label Datenträger-Bezeichnung +hdd_label_hint1 Datenträger-Bezeichnung eingeben und mit Speichern übernehmen +hdd_label_hint2 Nur bei "%s" (Aufnahme-Medium) werden die nötigen Verzeichnisse auf den Datenträger geschrieben +hdd_info_capacity Kapazität +hdd_info_firmware Firmware +hdd_info_head HDD Info +hdd_info_info Ausgelesen mit smartctl +hdd_info_model Modell +hdd_info_model_family Modellreihe +hdd_info_rotation_rate Rotationsrate +hdd_info_sata_version SATA-Version +hdd_info_sector_size Sektorengröße +hdd_info_serial Seriennummer +hdd_info_temperature Temperatur +hdd_info_unknown unbekannt +hdd_manage Datenträger verwalten hdd_middle Mittel hdd_mount Mount -hdd_mount_failed Fehler! Bitte Datenträgereinstellungen überprüfen? +hdd_mount_failed Fehler! Bitte Datenträgereinstellungen überprüfen. hdd_mount_ok Datenträger bereit hdd_mount_umount Mount/Unmount hdd_noise Akustikkontrolle (AAM) hdd_not_found Kein Datenträger +hdd_power Interne HDD-Stromversorgung hdd_set_recdir Diesen Datenträger für die Aufnahme nutzen? hdd_settings Datenträger hdd_sleep Ausschalten nach @@ -962,6 +980,9 @@ hdd_statfs_recording nur während Aufnahme hdd_umount Aushängen hdd_umount_warn Datenträger aushängen hdd_umounted Gerät entfernt +hdd_wakeup Interne Aufweckfunktion +hdd_wakeup_msg Aufweckfunktion mit Nachricht +hdd_wakeup_start Aufweckfunktion wird gestartet help_box_title Hilfe imageinfo.api API: imageinfo.creator Ersteller: @@ -1300,14 +1321,21 @@ menu.hint_foot_back Ändern Sie die Fußleisten-Hintergrundfarbe menu.hint_foot_textcolor Ändern Sie die Fußleisten-Textfarbe menu.hint_games Zeige Liste der installierten Spiele menu.hint_hdd Formatierung und Prüfung der Datenträger +menu.hint_hdd_allow_set_recdir Erlaubt das sofortige Einstellen des neuen Datenträgers als Aufnahmemedium menu.hint_hdd_apply Die veränderten Einstellungen zum Sleep- und Akustik-Modus werden übernommen menu.hint_hdd_check Überprüft das Dateisystem und führt gegebenfalls eine Reparatur durch (fsck) menu.hint_hdd_fmt Wählen Sie das Datenträgerformat aus menu.hint_hdd_format Erstellt eine Partition auf dem Datenträger und formatiert diese -menu.hint_hdd_noise Setzen Sie Parameter für das Automatic Acoustic Management.\nNicht alle Laufwerke unterstützen diese Funktion +menu.hint_hdd_format_on_mount_failed Soll der Datenträger formatiert werden, wenn das Einhängen fehlschlägt? +menu.hint_hdd_info Datenträger-Informationen über Kapazität, Temperatur usw. +menu.hint_hdd_label Geben Sie die Datenträger-Bezeichnung ein +menu.hint_hdd_noise Setzen Sie Parameter für das Automatic Acoustic Management.\nNicht alle Datenträger unterstützen diese Funktion +menu.hint_hdd_power Interne HDD-Stromversorgung für die Coolstream HD1 Boxen aktivieren. menu.hint_hdd_sleep Dieser Wert definiert, nach wieviel Minuten die Festplatte bei Inaktivität in den Sleep-Modus geschaltet wird menu.hint_hdd_statfs Legen Sie fest, wann die Aufnahmeverzeichnis-Füllstandsanzeige im InfoViewer (und ggf. am VFD-Display) aktualisiert werden darf menu.hint_hdd_tools Formatieren Sie die gefundenen Datenträger bzw. überprüfen Sie deren Dateisystem +menu.hint_hdd_wakeup Schaltet die internen Aufweckfunktionen für Festplatten ein oder aus +menu.hint_hdd_wakeup_msg Schaltet die Benachrichtigung über den Start der Aufweckfunktion ein oder aus menu.hint_head_back Ändern Sie die Titel-Hintergrundfarbe menu.hint_head_textcolor Ändern Sie die Titel-Textfarbe menu.hint_imageinfo Informationen über die installierte Software diff --git a/data/locale/english.locale b/data/locale/english.locale index 325ce8733..180a2fe72 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -936,14 +936,31 @@ hdd_30min 30 min. hdd_5min 5 min. hdd_60min 60 min. hdd_activate Apply settings +hdd_allow_set_recdir Allow recordings immediately hdd_check Check filesystem hdd_check_failed Filesystem-check failed! hdd_extended_settings Extended settings hdd_fast Fast hdd_format Format device hdd_format_failed Formating failed! Make sure device not in use, reboot and try again +hdd_format_on_mount_failed Format device when mount failed hdd_format_warn All data on device will be lost! Continue with formatting? hdd_fs Filesystem used to format +hdd_label Device label +hdd_label_hint1 Enter device label and press save +hdd_label_hint2 Only with "%s" (recording medium) the necessary folders will be written to device +hdd_info_capacity Capacity +hdd_info_firmware Firmware +hdd_info_head HDD Info +hdd_info_info Sampled with smartctl +hdd_info_model Model +hdd_info_model_family Model family +hdd_info_rotation_rate Rotation rate +hdd_info_sata_version SATA-version +hdd_info_sector_size Sector size +hdd_info_serial Serial +hdd_info_temperature Temperature +hdd_info_unknown unknown hdd_manage Manage device hdd_middle Mid hdd_mount Mount @@ -951,7 +968,8 @@ hdd_mount_failed Failed to mount. hdd_mount_ok Device ready to use. hdd_mount_umount Mount/Unmount hdd_noise Acoustic-control (AAM) -hdd_not_found No HDD found +hdd_not_found No device found +hdd_power Internal HDD-power hdd_set_recdir Use device for recording ? hdd_settings Data storage hdd_sleep Switch off after @@ -962,6 +980,9 @@ hdd_statfs_recording while recording only hdd_umount Unmount hdd_umount_warn Unmount device hdd_umounted Device removed +hdd_wakeup Internal wakeup function +hdd_wakeup_msg Wakeup function with message +hdd_wakeup_start Wakeup starting help_box_title Help imageinfo.api API: imageinfo.creator Creator: @@ -1300,14 +1321,21 @@ menu.hint_foot_back Change GUI footer background color menu.hint_foot_textcolor Change GUI window footer text color menu.hint_games Show list of installed games menu.hint_hdd Format and check data storage +menu.hint_hdd_allow_set_recdir Allow to set new connected devices as a record medium menu.hint_hdd_apply Apply sleep/noise parameters menu.hint_hdd_check Check filesystem (fsck) menu.hint_hdd_fmt Select the data storage format menu.hint_hdd_format Create HDD partition and format it +menu.hint_hdd_format_on_mount_failed Format HDD device when mount failed? +menu.hint_hdd_info Device information about capacity, temperature etc. +menu.hint_hdd_label Enter device label menu.hint_hdd_noise Set Automatic Acoustic Management\nnot all drives support this +menu.hint_hdd_power Activate internal HDD power for Coolstream HD1 boxes menu.hint_hdd_sleep Select time to stop hdd on inactivity menu.hint_hdd_statfs Specify when the recording directory fill level in infoviewer and, if available, on VFD, may be updated menu.hint_hdd_tools Initialize HDD, check filesystem +menu.hint_hdd_wakeup Turns the internal wakeup functions for connected drives on or off +menu.hint_hdd_wakeup_msg Turns the messages while starting the wakeup function on or off menu.hint_head_back Change GUI title background color menu.hint_head_textcolor Change GUI window title text color menu.hint_imageinfo Information about installed software diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp index 07b03d1c4..d6ace933b 100644 --- a/src/gui/hdd_menu.cpp +++ b/src/gui/hdd_menu.cpp @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -65,6 +66,8 @@ #define MDEV_MOUNT "/lib/mdev/fs/mount" #define MOUNT_BASE "/media/" +#define MKFS_LABEL_DEFAULT "records" + #define HDD_NOISE_OPTION_COUNT 4 const CMenuOptionChooser::keyval HDD_NOISE_OPTIONS[HDD_NOISE_OPTION_COUNT] = { @@ -87,13 +90,13 @@ const CMenuOptionChooser::keyval HDD_SLEEP_OPTIONS[HDD_SLEEP_OPTION_COUNT] = }; devtool_s CHDDMenuHandler::devtools[] = { - { "ext4", "fsck.ext4", "-C 1 -f -y", "mkfs.ext4", "-m 0", false, false }, - { "ext3", "fsck.ext3", "-C 1 -f -y", "mkfs.ext3", "-m 0", false, false }, - { "ext2", "fsck.ext2", "-C 1 -f -y", "mkfs.ext2", "-m 0", false, false }, - { "f2fs", "fsck.f2fs", "", "mkfs.f2fs", "-f", false, false }, - { "vfat", "fsck.vfat", "-a", "mkfs.vfat", "", false, false }, - { "exfat", "fsck.exfat", "", "mkfs.exfat", "", false, false }, - { "xfs", "xfs_repair", "", "mkfs.xfs", "-f", false, false }, + { "ext4", "fsck.ext4", "-C 1 -f -y", "mkfs.ext4", "-m 0", "-L", false, false }, + { "ext3", "fsck.ext3", "-C 1 -f -y", "mkfs.ext3", "-m 0", "-L", false, false }, + { "ext2", "fsck.ext2", "-C 1 -f -y", "mkfs.ext2", "-m 0", "-L", false, false }, + { "f2fs", "fsck.f2fs", "", "mkfs.f2fs", "-f", "-l", false, false }, + { "vfat", "fsck.vfat", "-a", "mkfs.vfat", "", "-n", false, false }, + { "exfat", "fsck.exfat", "", "mkfs.exfat", "", "-n", false, false }, + { "xfs", "xfs_repair", "", "mkfs.xfs", "-f", "-L", false, false }, }; #define FS_MAX (sizeof(CHDDMenuHandler::devtools)/sizeof(devtool_s)) @@ -108,6 +111,7 @@ CHDDMenuHandler::CHDDMenuHandler() show_menu = false; in_menu = false; lock_refresh = false; + mkfs_label = MKFS_LABEL_DEFAULT; } CHDDMenuHandler::~CHDDMenuHandler() @@ -644,6 +648,13 @@ int CHDDMenuHandler::showDeviceMenu(std::string dev) mc->setHint("", LOCALE_MENU_HINT_HDD_FMT); hddmenu->addItem(mc); + char hint2[1024]; + snprintf(hint2, sizeof(hint2)-1, g_Locale->getText(LOCALE_HDD_LABEL_HINT2), MKFS_LABEL_DEFAULT); + CKeyboardInput choseLabel((std::string) g_Locale->getText(LOCALE_HDD_LABEL), &mkfs_label, 0, NULL, NULL, (std::string) g_Locale->getText(LOCALE_HDD_LABEL_HINT1), (std::string) hint2); + mf = new CMenuForwarder(LOCALE_HDD_LABEL, true, mkfs_label, &choseLabel); + mf->setHint("", LOCALE_MENU_HINT_HDD_LABEL); + hddmenu->addItem(mf); + std::string key = "f" + dev; mf = new CMenuForwarder(LOCALE_HDD_FORMAT, true, "", this, key.c_str()); mf->setHint("", LOCALE_MENU_HINT_HDD_FORMAT); @@ -1031,7 +1042,10 @@ int CHDDMenuHandler::formatDevice(std::string dev) std::string devpart = dev + part; std::string partname = devname + part; - std::string mkfscmd = devtool->mkfs + " " + devtool->mkfs_options + " " + partname; + std::string mkfscmd = devtool->mkfs + " " + devtool->mkfs_options + " "; + if (!devtool->mkfs_labelswitch.empty() && !mkfs_label.empty()) + mkfscmd += devtool->mkfs_labelswitch + " \"" + mkfs_label + "\" "; + mkfscmd += partname; printf("mkfs cmd: [%s]\n", mkfscmd.c_str()); res = ShowMsg(LOCALE_HDD_FORMAT, g_Locale->getText(LOCALE_HDD_FORMAT_WARN), CMsgBox::mbrNo, CMsgBox::mbYes | CMsgBox::mbNo ); @@ -1215,7 +1229,8 @@ _remount: if (!res) { res = mount_dev(devpart); - if(res) { + if (res && mkfs_label == MKFS_LABEL_DEFAULT) + { std::string dst = MOUNT_BASE + devpart; snprintf(cmd, sizeof(cmd), "%s/movies", dst.c_str()); safe_mkdir(cmd); diff --git a/src/gui/hdd_menu.h b/src/gui/hdd_menu.h index 1734be4da..5893c04fb 100644 --- a/src/gui/hdd_menu.h +++ b/src/gui/hdd_menu.h @@ -34,6 +34,7 @@ struct devtool_s { std::string fsck_options; std::string mkfs; std::string mkfs_options; + std::string mkfs_labelswitch; bool fsck_supported; bool mkfs_supported; }; @@ -48,6 +49,7 @@ class CHDDMenuHandler : public CMenuTarget { private: int width; + std::string mkfs_label; std::string mount; std::string umount; bool show_menu; diff --git a/src/system/locals.h b/src/system/locals.h index d87cf4263..2fe868200 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -963,14 +963,31 @@ typedef enum LOCALE_HDD_5MIN, LOCALE_HDD_60MIN, LOCALE_HDD_ACTIVATE, + LOCALE_HDD_ALLOW_SET_RECDIR, LOCALE_HDD_CHECK, LOCALE_HDD_CHECK_FAILED, LOCALE_HDD_EXTENDED_SETTINGS, LOCALE_HDD_FAST, LOCALE_HDD_FORMAT, LOCALE_HDD_FORMAT_FAILED, + LOCALE_HDD_FORMAT_ON_MOUNT_FAILED, LOCALE_HDD_FORMAT_WARN, LOCALE_HDD_FS, + LOCALE_HDD_LABEL, + LOCALE_HDD_LABEL_HINT1, + LOCALE_HDD_LABEL_HINT2, + LOCALE_HDD_INFO_CAPACITY, + LOCALE_HDD_INFO_FIRMWARE, + LOCALE_HDD_INFO_HEAD, + LOCALE_HDD_INFO_INFO, + LOCALE_HDD_INFO_MODEL, + LOCALE_HDD_INFO_MODEL_FAMILY, + LOCALE_HDD_INFO_ROTATION_RATE, + LOCALE_HDD_INFO_SATA_VERSION, + LOCALE_HDD_INFO_SECTOR_SIZE, + LOCALE_HDD_INFO_SERIAL, + LOCALE_HDD_INFO_TEMPERATURE, + LOCALE_HDD_INFO_UNKNOWN, LOCALE_HDD_MANAGE, LOCALE_HDD_MIDDLE, LOCALE_HDD_MOUNT, @@ -979,6 +996,7 @@ typedef enum LOCALE_HDD_MOUNT_UMOUNT, LOCALE_HDD_NOISE, LOCALE_HDD_NOT_FOUND, + LOCALE_HDD_POWER, LOCALE_HDD_SET_RECDIR, LOCALE_HDD_SETTINGS, LOCALE_HDD_SLEEP, @@ -989,6 +1007,9 @@ typedef enum LOCALE_HDD_UMOUNT, LOCALE_HDD_UMOUNT_WARN, LOCALE_HDD_UMOUNTED, + LOCALE_HDD_WAKEUP, + LOCALE_HDD_WAKEUP_MSG, + LOCALE_HDD_WAKEUP_START, LOCALE_HELP_BOX_TITLE, LOCALE_IMAGEINFO_API, LOCALE_IMAGEINFO_CREATOR, @@ -1327,14 +1348,21 @@ typedef enum LOCALE_MENU_HINT_FOOT_TEXTCOLOR, LOCALE_MENU_HINT_GAMES, LOCALE_MENU_HINT_HDD, + LOCALE_MENU_HINT_HDD_ALLOW_SET_RECDIR, LOCALE_MENU_HINT_HDD_APPLY, LOCALE_MENU_HINT_HDD_CHECK, LOCALE_MENU_HINT_HDD_FMT, LOCALE_MENU_HINT_HDD_FORMAT, + LOCALE_MENU_HINT_HDD_FORMAT_ON_MOUNT_FAILED, + LOCALE_MENU_HINT_HDD_INFO, + LOCALE_MENU_HINT_HDD_LABEL, LOCALE_MENU_HINT_HDD_NOISE, + LOCALE_MENU_HINT_HDD_POWER, LOCALE_MENU_HINT_HDD_SLEEP, LOCALE_MENU_HINT_HDD_STATFS, LOCALE_MENU_HINT_HDD_TOOLS, + LOCALE_MENU_HINT_HDD_WAKEUP, + LOCALE_MENU_HINT_HDD_WAKEUP_MSG, LOCALE_MENU_HINT_HEAD_BACK, LOCALE_MENU_HINT_HEAD_TEXTCOLOR, LOCALE_MENU_HINT_IMAGEINFO, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 5eb21c19f..a640986c1 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -963,14 +963,31 @@ const char * locale_real_names[] = "hdd_5min", "hdd_60min", "hdd_activate", + "hdd_allow_set_recdir", "hdd_check", "hdd_check_failed", "hdd_extended_settings", "hdd_fast", "hdd_format", "hdd_format_failed", + "hdd_format_on_mount_failed", "hdd_format_warn", "hdd_fs", + "hdd_label", + "hdd_label_hint1", + "hdd_label_hint2", + "hdd_info_capacity", + "hdd_info_firmware", + "hdd_info_head", + "hdd_info_info", + "hdd_info_model", + "hdd_info_model_family", + "hdd_info_rotation_rate", + "hdd_info_sata_version", + "hdd_info_sector_size", + "hdd_info_serial", + "hdd_info_temperature", + "hdd_info_unknown", "hdd_manage", "hdd_middle", "hdd_mount", @@ -979,6 +996,7 @@ const char * locale_real_names[] = "hdd_mount_umount", "hdd_noise", "hdd_not_found", + "hdd_power", "hdd_set_recdir", "hdd_settings", "hdd_sleep", @@ -989,6 +1007,9 @@ const char * locale_real_names[] = "hdd_umount", "hdd_umount_warn", "hdd_umounted", + "hdd_wakeup", + "hdd_wakeup_msg", + "hdd_wakeup_start", "help_box_title", "imageinfo.api", "imageinfo.creator", @@ -1327,14 +1348,21 @@ const char * locale_real_names[] = "menu.hint_foot_textcolor", "menu.hint_games", "menu.hint_hdd", + "menu.hint_hdd_allow_set_recdir", "menu.hint_hdd_apply", "menu.hint_hdd_check", "menu.hint_hdd_fmt", "menu.hint_hdd_format", + "menu.hint_hdd_format_on_mount_failed", + "menu.hint_hdd_info", + "menu.hint_hdd_label", "menu.hint_hdd_noise", + "menu.hint_hdd_power", "menu.hint_hdd_sleep", "menu.hint_hdd_statfs", "menu.hint_hdd_tools", + "menu.hint_hdd_wakeup", + "menu.hint_hdd_wakeup_msg", "menu.hint_head_back", "menu.hint_head_textcolor", "menu.hint_imageinfo",