fix globalKey / handle Windows drive fd type / add un/select all

This commit is contained in:
csf 2022-10-19 10:52:29 +09:00
parent 0c976a6644
commit 0bced44126
25 changed files with 144 additions and 54 deletions

@ -48,6 +48,8 @@ class _FileManagerPageState extends State<FileManagerPage>
final _locationStatusRemote = LocationStatus.bread.obs; final _locationStatusRemote = LocationStatus.bread.obs;
final _locationNodeLocal = FocusNode(debugLabel: "locationNodeLocal"); final _locationNodeLocal = FocusNode(debugLabel: "locationNodeLocal");
final _locationNodeRemote = FocusNode(debugLabel: "locationNodeRemote"); final _locationNodeRemote = FocusNode(debugLabel: "locationNodeRemote");
final _locationBarKeyLocal = GlobalKey(debugLabel: "locationBarKeyLocal");
final _locationBarKeyRemote = GlobalKey(debugLabel: "locationBarKeyRemote");
final _searchTextLocal = "".obs; final _searchTextLocal = "".obs;
final _searchTextRemote = "".obs; final _searchTextRemote = "".obs;
final _breadCrumbScrollerLocal = ScrollController(); final _breadCrumbScrollerLocal = ScrollController();
@ -63,11 +65,15 @@ class _FileManagerPageState extends State<FileManagerPage>
return isLocal ? _breadCrumbScrollerLocal : _breadCrumbScrollerRemote; return isLocal ? _breadCrumbScrollerLocal : _breadCrumbScrollerRemote;
} }
GlobalKey getLocationBarKey(bool isLocal) {
return isLocal ? _locationBarKeyLocal : _locationBarKeyRemote;
}
late FFI _ffi; late FFI _ffi;
FileModel get model => _ffi.fileModel; FileModel get model => _ffi.fileModel;
SelectedItems getSelectedItem(bool isLocal) { SelectedItems getSelectedItems(bool isLocal) {
return isLocal ? _localSelectedItems : _remoteSelectedItems; return isLocal ? _localSelectedItems : _remoteSelectedItems;
} }
@ -133,7 +139,7 @@ class _FileManagerPageState extends State<FileManagerPage>
Widget menu({bool isLocal = false}) { Widget menu({bool isLocal = false}) {
var menuPos = RelativeRect.fill; var menuPos = RelativeRect.fill;
final items = [ final List<MenuEntryBase<String>> items = [
MenuEntrySwitch<String>( MenuEntrySwitch<String>(
switchType: SwitchType.scheckbox, switchType: SwitchType.scheckbox,
text: translate("Show Hidden Files"), text: translate("Show Hidden Files"),
@ -146,6 +152,18 @@ class _FileManagerPageState extends State<FileManagerPage>
padding: kDesktopMenuPadding, padding: kDesktopMenuPadding,
dismissOnClicked: true, dismissOnClicked: true,
), ),
MenuEntryButton(
childBuilder: (style) => Text(translate("Select All"), style: style),
proc: () => setState(() => getSelectedItems(isLocal)
.selectAll(model.getCurrentDir(isLocal).entries)),
padding: kDesktopMenuPadding,
dismissOnClicked: true),
MenuEntryButton(
childBuilder: (style) =>
Text(translate("Unselect All"), style: style),
proc: () => setState(() => getSelectedItems(isLocal).clear()),
padding: kDesktopMenuPadding,
dismissOnClicked: true)
]; ];
return Listener( return Listener(
@ -273,11 +291,10 @@ class _FileManagerPageState extends State<FileManagerPage>
return DataRow( return DataRow(
key: ValueKey(entry.name), key: ValueKey(entry.name),
onSelectChanged: (s) { onSelectChanged: (s) {
_onSelectedChanged(getSelectedItem(isLocal), filteredEntries, _onSelectedChanged(getSelectedItems(isLocal), filteredEntries,
entry, isLocal); entry, isLocal);
setState(() {});
}, },
selected: getSelectedItem(isLocal).contains(entry), selected: getSelectedItems(isLocal).contains(entry),
cells: [ cells: [
DataCell( DataCell(
Container( Container(
@ -287,7 +304,11 @@ class _FileManagerPageState extends State<FileManagerPage>
message: entry.name, message: entry.name,
child: Row(children: [ child: Row(children: [
Icon( Icon(
entry.isFile ? Icons.feed_outlined : Icons.folder, entry.isFile
? Icons.feed_outlined
: entry.isDrive
? Icons.computer
: Icons.folder,
size: 20, size: 20,
color: Theme.of(context) color: Theme.of(context)
.iconTheme .iconTheme
@ -300,7 +321,7 @@ class _FileManagerPageState extends State<FileManagerPage>
]), ]),
)), )),
onTap: () { onTap: () {
final items = getSelectedItem(isLocal); final items = getSelectedItems(isLocal);
// handle double click // handle double click
if (_checkDoubleClick(entry)) { if (_checkDoubleClick(entry)) {
@ -486,6 +507,7 @@ class _FileManagerPageState extends State<FileManagerPage>
final locationStatus = final locationStatus =
isLocal ? _locationStatusLocal : _locationStatusRemote; isLocal ? _locationStatusLocal : _locationStatusRemote;
final locationFocus = isLocal ? _locationNodeLocal : _locationNodeRemote; final locationFocus = isLocal ? _locationNodeLocal : _locationNodeRemote;
final selectedItems = getSelectedItems(isLocal);
return Container( return Container(
child: Column( child: Column(
children: [ children: [
@ -534,6 +556,7 @@ class _FileManagerPageState extends State<FileManagerPage>
icon: const Icon(Icons.arrow_back), icon: const Icon(Icons.arrow_back),
splashRadius: 20, splashRadius: 20,
onPressed: () { onPressed: () {
selectedItems.clear();
model.goBack(isLocal: isLocal); model.goBack(isLocal: isLocal);
}, },
), ),
@ -541,6 +564,7 @@ class _FileManagerPageState extends State<FileManagerPage>
icon: const Icon(Icons.arrow_upward), icon: const Icon(Icons.arrow_upward),
splashRadius: 20, splashRadius: 20,
onPressed: () { onPressed: () {
selectedItems.clear();
model.goToParentDirectory(isLocal: isLocal); model.goToParentDirectory(isLocal: isLocal);
}, },
), ),
@ -609,6 +633,7 @@ class _FileManagerPageState extends State<FileManagerPage>
}), }),
IconButton( IconButton(
onPressed: () { onPressed: () {
breadCrumbScrollToEnd(isLocal);
model.refresh(isLocal: isLocal); model.refresh(isLocal: isLocal);
}, },
splashRadius: 20, splashRadius: 20,
@ -673,13 +698,13 @@ class _FileManagerPageState extends State<FileManagerPage>
splashRadius: 20, splashRadius: 20,
icon: const Icon(Icons.create_new_folder_outlined)), icon: const Icon(Icons.create_new_folder_outlined)),
IconButton( IconButton(
onPressed: () async { onPressed: validItems(selectedItems)
final items = isLocal ? () async {
? _localSelectedItems await (model.removeAction(selectedItems,
: _remoteSelectedItems; isLocal: isLocal));
await (model.removeAction(items, isLocal: isLocal)); selectedItems.clear();
items.clear(); }
}, : null,
splashRadius: 20, splashRadius: 20,
icon: const Icon(Icons.delete_forever_outlined)), icon: const Icon(Icons.delete_forever_outlined)),
menu(isLocal: isLocal), menu(isLocal: isLocal),
@ -687,11 +712,12 @@ class _FileManagerPageState extends State<FileManagerPage>
), ),
), ),
TextButton.icon( TextButton.icon(
onPressed: () { onPressed: validItems(selectedItems)
final items = getSelectedItem(isLocal); ? () {
model.sendFiles(items, isRemote: !isLocal); model.sendFiles(selectedItems, isRemote: !isLocal);
items.clear(); selectedItems.clear();
}, }
: null,
icon: Transform.rotate( icon: Transform.rotate(
angle: isLocal ? 0 : pi, angle: isLocal ? 0 : pi,
child: const Icon( child: const Icon(
@ -707,6 +733,14 @@ class _FileManagerPageState extends State<FileManagerPage>
)); ));
} }
bool validItems(SelectedItems items) {
if (items.length > 0) {
// exclude DirDrive type
return items.items.any((item) => !item.isDrive);
}
return false;
}
@override @override
bool get wantKeepAlive => true; bool get wantKeepAlive => true;
@ -742,8 +776,7 @@ class _FileManagerPageState extends State<FileManagerPage>
} }
openDirectory(path, isLocal: isLocal); openDirectory(path, isLocal: isLocal);
}); });
breadCrumbScrollToEnd(isLocal); final locationBarKey = getLocationBarKey(isLocal);
final locationBarKey = GlobalKey(debugLabel: "locationBarKey");
return items.isEmpty return items.isEmpty
? Offstage() ? Offstage()
@ -780,11 +813,13 @@ class _FileManagerPageState extends State<FileManagerPage>
final List<MenuEntryBase> menuItems; final List<MenuEntryBase> menuItems;
if (peerPlatform == "windows") { if (peerPlatform == "windows") {
menuItems = []; menuItems = [];
final loadingTag = var loadingTag = "";
_ffi.dialogManager.showLoading("Waiting"); if (!isLocal) {
loadingTag = _ffi.dialogManager.showLoading("Waiting");
}
try { try {
final fd = final fd =
await model.fetchDirectory("/", isLocal, false); await model.fetchDirectory("/", isLocal, isLocal);
for (var entry in fd.entries) { for (var entry in fd.entries) {
menuItems.add(MenuEntryButton( menuItems.add(MenuEntryButton(
childBuilder: (TextStyle? style) => Text( childBuilder: (TextStyle? style) => Text(
@ -793,13 +828,15 @@ class _FileManagerPageState extends State<FileManagerPage>
), ),
proc: () { proc: () {
openDirectory(entry.name, isLocal: isLocal); openDirectory(entry.name, isLocal: isLocal);
Get.back(); },
})); dismissOnClicked: true));
menuItems.add(MenuEntryDivider()); menuItems.add(MenuEntryDivider());
} }
} finally { } finally {
if (!isLocal) {
_ffi.dialogManager.dismissByTag(loadingTag); _ffi.dialogManager.dismissByTag(loadingTag);
} }
}
} else { } else {
menuItems = [ menuItems = [
MenuEntryButton( MenuEntryButton(
@ -809,8 +846,8 @@ class _FileManagerPageState extends State<FileManagerPage>
), ),
proc: () { proc: () {
openDirectory('/', isLocal: isLocal); openDirectory('/', isLocal: isLocal);
Get.back(); },
}), dismissOnClicked: true),
MenuEntryDivider() MenuEntryDivider()
]; ];
} }

@ -1031,7 +1031,9 @@ class Entry {
bool get isFile => entryType > 3; bool get isFile => entryType > 3;
bool get isDirectory => entryType <= 3; bool get isDirectory => entryType < 3;
bool get isDrive => entryType == 3;
DateTime lastModified() { DateTime lastModified() {
return DateTime.fromMillisecondsSinceEpoch(modifiedTime * 1000); return DateTime.fromMillisecondsSinceEpoch(modifiedTime * 1000);
@ -1169,6 +1171,11 @@ class SelectedItems {
_items.clear(); _items.clear();
_isLocal = null; _isLocal = null;
} }
void selectAll(List<Entry> entries) {
_items.clear();
_items.addAll(entries);
}
} }
// code from file_manager pkg after edit // code from file_manager pkg after edit

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "删除"), ("Delete", "删除"),
("Properties", "属性"), ("Properties", "属性"),
("Multi Select", "多选"), ("Multi Select", "多选"),
("Select All", "全选"),
("Unselect All", "取消全选"),
("Empty Directory", "空文件夹"), ("Empty Directory", "空文件夹"),
("Not an empty directory", "这不是一个空文件夹"), ("Not an empty directory", "这不是一个空文件夹"),
("Are you sure you want to delete this file?", "是否删除此文件?"), ("Are you sure you want to delete this file?", "是否删除此文件?"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Smazat"), ("Delete", "Smazat"),
("Properties", "Vlastnosti"), ("Properties", "Vlastnosti"),
("Multi Select", "Vícenásobný výběr"), ("Multi Select", "Vícenásobný výběr"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Prázdná složka"), ("Empty Directory", "Prázdná složka"),
("Not an empty directory", "Neprázdná složka"), ("Not an empty directory", "Neprázdná složka"),
("Are you sure you want to delete this file?", "Opravdu chcete tento soubor vymazat?"), ("Are you sure you want to delete this file?", "Opravdu chcete tento soubor vymazat?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Dobrá kvalita obrazu"), ("Good image quality", "Dobrá kvalita obrazu"),
("Balanced", "Vyvážené"), ("Balanced", "Vyvážené"),
("Optimize reaction time", "Optimalizovat pro co nejnižší prodlevu odezvy"), ("Optimize reaction time", "Optimalizovat pro co nejnižší prodlevu odezvy"),
("Custom", "Uživatelsky určené"), ("Custom", ""),
("Show remote cursor", "Zobrazovat ukazatel myši z protějšku"), ("Show remote cursor", "Zobrazovat ukazatel myši z protějšku"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Vypnout schránku"), ("Disable clipboard", "Vypnout schránku"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Slet"), ("Delete", "Slet"),
("Properties", "Egenskaber"), ("Properties", "Egenskaber"),
("Multi Select", "Flere valg"), ("Multi Select", "Flere valg"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Tom bibliotek"), ("Empty Directory", "Tom bibliotek"),
("Not an empty directory", "Intet tomt bibliotek"), ("Not an empty directory", "Intet tomt bibliotek"),
("Are you sure you want to delete this file?", "Er du sikker på, at du vil slette denne fil?"), ("Are you sure you want to delete this file?", "Er du sikker på, at du vil slette denne fil?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "God billedkvalitet"), ("Good image quality", "God billedkvalitet"),
("Balanced", "Afbalanceret"), ("Balanced", "Afbalanceret"),
("Optimize reaction time", "Optimeret responstid"), ("Optimize reaction time", "Optimeret responstid"),
("Custom", "Brugerdefineret"), ("Custom", ""),
("Show remote cursor", "Vis fjernbetjeningskontrolleret markør"), ("Show remote cursor", "Vis fjernbetjeningskontrolleret markør"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Deaktiver udklipsholder"), ("Disable clipboard", "Deaktiver udklipsholder"),
@ -193,7 +195,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Reboot required", "Genstart krævet"), ("Reboot required", "Genstart krævet"),
("Unsupported display server ", "Ikke-understøttet displayserver"), ("Unsupported display server ", "Ikke-understøttet displayserver"),
("x11 expected", "X11 Forventet"), ("x11 expected", "X11 Forventet"),
("Port", ""), ("Port", "Port"),
("Settings", "Indstillinger"), ("Settings", "Indstillinger"),
("Username", " Brugernavn"), ("Username", " Brugernavn"),
("Invalid port", "Ugyldig port"), ("Invalid port", "Ugyldig port"),
@ -274,7 +276,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("android_stop_service_tip", "Ved at lukke tjenesten lukkes alle fremstillede forbindelser automatisk."), ("android_stop_service_tip", "Ved at lukke tjenesten lukkes alle fremstillede forbindelser automatisk."),
("android_version_audio_tip", "Den aktuelle Android -version understøtter ikke lydoptagelse, skal du opdatere om Android 10 eller højere."), ("android_version_audio_tip", "Den aktuelle Android -version understøtter ikke lydoptagelse, skal du opdatere om Android 10 eller højere."),
("android_start_service_tip", "Tryk på [Start Service] eller åbn autorisationen [skærmoptagelse] for at starte skærmudgivelsen."), ("android_start_service_tip", "Tryk på [Start Service] eller åbn autorisationen [skærmoptagelse] for at starte skærmudgivelsen."),
("Account", ""), ("Account", "Konto"),
("Overwrite", "Overskriv"), ("Overwrite", "Overskriv"),
("This file exists, skip or overwrite this file?", "Denne fil findes, springer over denne fil eller overskriver?"), ("This file exists, skip or overwrite this file?", "Denne fil findes, springer over denne fil eller overskriver?"),
("Quit", "Afslut"), ("Quit", "Afslut"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Löschen"), ("Delete", "Löschen"),
("Properties", "Eigenschaften"), ("Properties", "Eigenschaften"),
("Multi Select", "Mehrfachauswahl"), ("Multi Select", "Mehrfachauswahl"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Leerer Ordner"), ("Empty Directory", "Leerer Ordner"),
("Not an empty directory", "Ordner ist nicht leer"), ("Not an empty directory", "Ordner ist nicht leer"),
("Are you sure you want to delete this file?", "Sind Sie sicher, dass Sie diese Datei löschen wollen?"), ("Are you sure you want to delete this file?", "Sind Sie sicher, dass Sie diese Datei löschen wollen?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Qualität"), ("Good image quality", "Qualität"),
("Balanced", "Ausgeglichen"), ("Balanced", "Ausgeglichen"),
("Optimize reaction time", "Geschwindigkeit"), ("Optimize reaction time", "Geschwindigkeit"),
("Custom", "Benutzerdefiniert"), ("Custom", ""),
("Show remote cursor", "Entfernten Cursor anzeigen"), ("Show remote cursor", "Entfernten Cursor anzeigen"),
("Show quality monitor", "Qualitätsüberwachung anzeigen"), ("Show quality monitor", "Qualitätsüberwachung anzeigen"),
("Disable clipboard", "Zwischenablage deaktivieren"), ("Disable clipboard", "Zwischenablage deaktivieren"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", ""), ("Delete", ""),
("Properties", ""), ("Properties", ""),
("Multi Select", ""), ("Multi Select", ""),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", ""), ("Empty Directory", ""),
("Not an empty directory", ""), ("Not an empty directory", ""),
("Are you sure you want to delete this file?", "Ĉu vi vere volas forigi tiun dosieron?"), ("Are you sure you want to delete this file?", "Ĉu vi vere volas forigi tiun dosieron?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Bona bilda kvalito"), ("Good image quality", "Bona bilda kvalito"),
("Balanced", "Normala bilda kvalito"), ("Balanced", "Normala bilda kvalito"),
("Optimize reaction time", "Optimigi reakcia tempo"), ("Optimize reaction time", "Optimigi reakcia tempo"),
("Custom", "Personigi bilda kvalito"), ("Custom", ""),
("Show remote cursor", "Montri foran kursoron"), ("Show remote cursor", "Montri foran kursoron"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Malebligi poŝon"), ("Disable clipboard", "Malebligi poŝon"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Borrar"), ("Delete", "Borrar"),
("Properties", "Propiedades"), ("Properties", "Propiedades"),
("Multi Select", "Selección múltiple"), ("Multi Select", "Selección múltiple"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Directorio vacío"), ("Empty Directory", "Directorio vacío"),
("Not an empty directory", "No es un directorio vacío"), ("Not an empty directory", "No es un directorio vacío"),
("Are you sure you want to delete this file?", "Estás seguro de que quieres eliminar este archivo?"), ("Are you sure you want to delete this file?", "Estás seguro de que quieres eliminar este archivo?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Buena calidad de imagen"), ("Good image quality", "Buena calidad de imagen"),
("Balanced", "Equilibrado"), ("Balanced", "Equilibrado"),
("Optimize reaction time", "Optimizar el tiempo de reacción"), ("Optimize reaction time", "Optimizar el tiempo de reacción"),
("Custom", "Personalizado"), ("Custom", ""),
("Show remote cursor", "Mostrar cursor remoto"), ("Show remote cursor", "Mostrar cursor remoto"),
("Show quality monitor", "Mostrar calidad del monitor"), ("Show quality monitor", "Mostrar calidad del monitor"),
("Disable clipboard", "Deshabilitar portapapeles"), ("Disable clipboard", "Deshabilitar portapapeles"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Supprimer"), ("Delete", "Supprimer"),
("Properties", "Propriétés"), ("Properties", "Propriétés"),
("Multi Select", "Choix multiple"), ("Multi Select", "Choix multiple"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Répertoire vide"), ("Empty Directory", "Répertoire vide"),
("Not an empty directory", "Pas un répertoire vide"), ("Not an empty directory", "Pas un répertoire vide"),
("Are you sure you want to delete this file?", "Voulez-vous vraiment supprimer ce fichier?"), ("Are you sure you want to delete this file?", "Voulez-vous vraiment supprimer ce fichier?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Bonne qualité d'image"), ("Good image quality", "Bonne qualité d'image"),
("Balanced", "Qualité d'image normale"), ("Balanced", "Qualité d'image normale"),
("Optimize reaction time", "Optimiser le temps de réaction"), ("Optimize reaction time", "Optimiser le temps de réaction"),
("Custom", "Qualité d'image personnalisée"), ("Custom", ""),
("Show remote cursor", "Afficher le curseur distant"), ("Show remote cursor", "Afficher le curseur distant"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Désactiver le presse-papier"), ("Disable clipboard", "Désactiver le presse-papier"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Törlés"), ("Delete", "Törlés"),
("Properties", "Tulajdonságok"), ("Properties", "Tulajdonságok"),
("Multi Select", "Több fájl kiválasztása"), ("Multi Select", "Több fájl kiválasztása"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Üres Könyvtár"), ("Empty Directory", "Üres Könyvtár"),
("Not an empty directory", "Nem egy üres könyvtár"), ("Not an empty directory", "Nem egy üres könyvtár"),
("Are you sure you want to delete this file?", "Biztosan törölni szeretnéd ezt a fájlt?"), ("Are you sure you want to delete this file?", "Biztosan törölni szeretnéd ezt a fájlt?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Jó képminőség"), ("Good image quality", "Jó képminőség"),
("Balanced", "Balanszolt"), ("Balanced", "Balanszolt"),
("Optimize reaction time", "Válaszidő optimializálása"), ("Optimize reaction time", "Válaszidő optimializálása"),
("Custom", "Egyedi"), ("Custom", ""),
("Show remote cursor", "Távoli kurzor mutatása"), ("Show remote cursor", "Távoli kurzor mutatása"),
("Show quality monitor", "Minőségi monitor mutatása"), ("Show quality monitor", "Minőségi monitor mutatása"),
("Disable clipboard", "Vágólap Kikapcsolása"), ("Disable clipboard", "Vágólap Kikapcsolása"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Hapus"), ("Delete", "Hapus"),
("Properties", "Properti"), ("Properties", "Properti"),
("Multi Select", "Pilih Beberapa"), ("Multi Select", "Pilih Beberapa"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Folder Kosong"), ("Empty Directory", "Folder Kosong"),
("Not an empty directory", "Folder tidak kosong"), ("Not an empty directory", "Folder tidak kosong"),
("Are you sure you want to delete this file?", "Apakah anda yakin untuk menghapus file ini?"), ("Are you sure you want to delete this file?", "Apakah anda yakin untuk menghapus file ini?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Kualitas Gambar Baik"), ("Good image quality", "Kualitas Gambar Baik"),
("Balanced", "Seimbang"), ("Balanced", "Seimbang"),
("Optimize reaction time", "Optimalkan waktu reaksi"), ("Optimize reaction time", "Optimalkan waktu reaksi"),
("Custom", "Custom"), ("Custom", ""),
("Show remote cursor", "Tampilkan remote kursor"), ("Show remote cursor", "Tampilkan remote kursor"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Matikan papan klip"), ("Disable clipboard", "Matikan papan klip"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Eliminare"), ("Delete", "Eliminare"),
("Properties", "Proprietà"), ("Properties", "Proprietà"),
("Multi Select", "Selezione multipla"), ("Multi Select", "Selezione multipla"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Directory vuota"), ("Empty Directory", "Directory vuota"),
("Not an empty directory", "Non una directory vuota"), ("Not an empty directory", "Non una directory vuota"),
("Are you sure you want to delete this file?", "Vuoi davvero eliminare questo file?"), ("Are you sure you want to delete this file?", "Vuoi davvero eliminare questo file?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Buona qualità immagine"), ("Good image quality", "Buona qualità immagine"),
("Balanced", "Bilanciato"), ("Balanced", "Bilanciato"),
("Optimize reaction time", "Ottimizza il tempo di reazione"), ("Optimize reaction time", "Ottimizza il tempo di reazione"),
("Custom", "Personalizzato"), ("Custom", ""),
("Show remote cursor", "Mostra il cursore remoto"), ("Show remote cursor", "Mostra il cursore remoto"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Disabilita appunti"), ("Disable clipboard", "Disabilita appunti"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "削除"), ("Delete", "削除"),
("Properties", "プロパティ"), ("Properties", "プロパティ"),
("Multi Select", "複数選択"), ("Multi Select", "複数選択"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "空のディレクトリ"), ("Empty Directory", "空のディレクトリ"),
("Not an empty directory", "空ではないディレクトリ"), ("Not an empty directory", "空ではないディレクトリ"),
("Are you sure you want to delete this file?", "本当にこのファイルを削除しますか?"), ("Are you sure you want to delete this file?", "本当にこのファイルを削除しますか?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "画質優先"), ("Good image quality", "画質優先"),
("Balanced", "バランス"), ("Balanced", "バランス"),
("Optimize reaction time", "速度優先"), ("Optimize reaction time", "速度優先"),
("Custom", "カスタム"), ("Custom", ""),
("Show remote cursor", "リモート側のカーソルを表示"), ("Show remote cursor", "リモート側のカーソルを表示"),
("Show quality monitor", "品質モニターを表示"), ("Show quality monitor", "品質モニターを表示"),
("Disable clipboard", "クリップボードを無効化"), ("Disable clipboard", "クリップボードを無効化"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "삭제"), ("Delete", "삭제"),
("Properties", "속성"), ("Properties", "속성"),
("Multi Select", "다중 선택"), ("Multi Select", "다중 선택"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "빈 디렉터리"), ("Empty Directory", "빈 디렉터리"),
("Not an empty directory", "디렉터리가 비어있지 않습니다"), ("Not an empty directory", "디렉터리가 비어있지 않습니다"),
("Are you sure you want to delete this file?", "정말로 해당 파일을 삭제하시겠습니까?"), ("Are you sure you want to delete this file?", "정말로 해당 파일을 삭제하시겠습니까?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "최적 이미지 품질"), ("Good image quality", "최적 이미지 품질"),
("Balanced", "균형"), ("Balanced", "균형"),
("Optimize reaction time", "반응 시간 최적화"), ("Optimize reaction time", "반응 시간 최적화"),
("Custom", "커스텀"), ("Custom", ""),
("Show remote cursor", "원격 커서 보이기"), ("Show remote cursor", "원격 커서 보이기"),
("Show quality monitor", "품질 모니터 띄우기"), ("Show quality monitor", "품질 모니터 띄우기"),
("Disable clipboard", "클립보드 비활성화"), ("Disable clipboard", "클립보드 비활성화"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Жою"), ("Delete", "Жою"),
("Properties", "Қасиеттер"), ("Properties", "Қасиеттер"),
("Multi Select", "Көптік таңдау"), ("Multi Select", "Көптік таңдау"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Бос Бума"), ("Empty Directory", "Бос Бума"),
("Not an empty directory", "Бос бума емес"), ("Not an empty directory", "Бос бума емес"),
("Are you sure you want to delete this file?", "Бұл файылды жоюға сенімдісіз бе?"), ("Are you sure you want to delete this file?", "Бұл файылды жоюға сенімдісіз бе?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Жақсы сурет сапасы"), ("Good image quality", "Жақсы сурет сапасы"),
("Balanced", "Теңдестірілген"), ("Balanced", "Теңдестірілген"),
("Optimize reaction time", "Реакция уақытын оңтайландыру"), ("Optimize reaction time", "Реакция уақытын оңтайландыру"),
("Custom", "Теңшеулі"), ("Custom", ""),
("Show remote cursor", "Қашықтағы курсорды көрсету"), ("Show remote cursor", "Қашықтағы курсорды көрсету"),
("Show quality monitor", "Сапа мониторын көрсету"), ("Show quality monitor", "Сапа мониторын көрсету"),
("Disable clipboard", "Көшіру-тақтасын өшіру"), ("Disable clipboard", "Көшіру-тақтасын өшіру"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Usuń"), ("Delete", "Usuń"),
("Properties", "Właściwości"), ("Properties", "Właściwości"),
("Multi Select", "Wielokrotny wybór"), ("Multi Select", "Wielokrotny wybór"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Pusty katalog"), ("Empty Directory", "Pusty katalog"),
("Not an empty directory", "Katalog nie jest pusty"), ("Not an empty directory", "Katalog nie jest pusty"),
("Are you sure you want to delete this file?", "Czy na pewno chcesz usunąć ten plik?"), ("Are you sure you want to delete this file?", "Czy na pewno chcesz usunąć ten plik?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Dobra jakość obrazu"), ("Good image quality", "Dobra jakość obrazu"),
("Balanced", "Zrównoważony"), ("Balanced", "Zrównoważony"),
("Optimize reaction time", "Zoptymalizuj czas reakcji"), ("Optimize reaction time", "Zoptymalizuj czas reakcji"),
("Custom", "Niestandardowy"), ("Custom", ""),
("Show remote cursor", "Pokazuj zdalny kursor"), ("Show remote cursor", "Pokazuj zdalny kursor"),
("Show quality monitor", "Pokazuj jakość monitora"), ("Show quality monitor", "Pokazuj jakość monitora"),
("Disable clipboard", "Wyłącz schowek"), ("Disable clipboard", "Wyłącz schowek"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Apagar"), ("Delete", "Apagar"),
("Properties", "Propriedades"), ("Properties", "Propriedades"),
("Multi Select", "Selecção Múltipla"), ("Multi Select", "Selecção Múltipla"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Directório Vazio"), ("Empty Directory", "Directório Vazio"),
("Not an empty directory", "Directório não está vazio"), ("Not an empty directory", "Directório não está vazio"),
("Are you sure you want to delete this file?", "Tem certeza que deseja apagar este ficheiro?"), ("Are you sure you want to delete this file?", "Tem certeza que deseja apagar este ficheiro?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Qualidade visual boa"), ("Good image quality", "Qualidade visual boa"),
("Balanced", "Equilibrada"), ("Balanced", "Equilibrada"),
("Optimize reaction time", "Optimizar tempo de reacção"), ("Optimize reaction time", "Optimizar tempo de reacção"),
("Custom", "Personalizado"), ("Custom", ""),
("Show remote cursor", "Mostrar cursor remoto"), ("Show remote cursor", "Mostrar cursor remoto"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Desabilitar área de transferência"), ("Disable clipboard", "Desabilitar área de transferência"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Apagar"), ("Delete", "Apagar"),
("Properties", "Propriedades"), ("Properties", "Propriedades"),
("Multi Select", "Seleção Múltipla"), ("Multi Select", "Seleção Múltipla"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Diretório Vazio"), ("Empty Directory", "Diretório Vazio"),
("Not an empty directory", "Diretório não está vazio"), ("Not an empty directory", "Diretório não está vazio"),
("Are you sure you want to delete this file?", "Tem certeza que deseja apagar este arquivo?"), ("Are you sure you want to delete this file?", "Tem certeza que deseja apagar este arquivo?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Qualidade visual boa"), ("Good image quality", "Qualidade visual boa"),
("Balanced", "Balanceada"), ("Balanced", "Balanceada"),
("Optimize reaction time", "Otimizar tempo de reação"), ("Optimize reaction time", "Otimizar tempo de reação"),
("Custom", "Personalizado"), ("Custom", ""),
("Show remote cursor", "Mostrar cursor remoto"), ("Show remote cursor", "Mostrar cursor remoto"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Desabilitar área de transferência"), ("Disable clipboard", "Desabilitar área de transferência"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Удалить"), ("Delete", "Удалить"),
("Properties", "Свойства"), ("Properties", "Свойства"),
("Multi Select", "Многоэлементный выбор"), ("Multi Select", "Многоэлементный выбор"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Пустая папка"), ("Empty Directory", "Пустая папка"),
("Not an empty directory", "Папка не пуста"), ("Not an empty directory", "Папка не пуста"),
("Are you sure you want to delete this file?", "Вы уверены, что хотите удалить этот файл?"), ("Are you sure you want to delete this file?", "Вы уверены, что хотите удалить этот файл?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Хорошее качество изображения"), ("Good image quality", "Хорошее качество изображения"),
("Balanced", "Сбалансированный"), ("Balanced", "Сбалансированный"),
("Optimize reaction time", "Оптимизировать время реакции"), ("Optimize reaction time", "Оптимизировать время реакции"),
("Custom", "Пользовательский"), ("Custom", ""),
("Show remote cursor", "Показать удаленный курсор"), ("Show remote cursor", "Показать удаленный курсор"),
("Show quality monitor", "Показать качество"), ("Show quality monitor", "Показать качество"),
("Disable clipboard", "Отключить буфер обмена"), ("Disable clipboard", "Отключить буфер обмена"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Zmazať"), ("Delete", "Zmazať"),
("Properties", "Vlastnosti"), ("Properties", "Vlastnosti"),
("Multi Select", "Viacnásobný výber"), ("Multi Select", "Viacnásobný výber"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Prázdny adresár"), ("Empty Directory", "Prázdny adresár"),
("Not an empty directory", "Nie prázdny adresár"), ("Not an empty directory", "Nie prázdny adresár"),
("Are you sure you want to delete this file?", "Ste si istý, že chcete zmazať tento súbor?"), ("Are you sure you want to delete this file?", "Ste si istý, že chcete zmazať tento súbor?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Dobrá kvalita obrazu"), ("Good image quality", "Dobrá kvalita obrazu"),
("Balanced", "Vyvážené"), ("Balanced", "Vyvážené"),
("Optimize reaction time", "Optimalizované pre čas odozvy"), ("Optimize reaction time", "Optimalizované pre čas odozvy"),
("Custom", "Vlastné"), ("Custom", ""),
("Show remote cursor", "Zobrazovať vzdialený ukazovateľ myši"), ("Show remote cursor", "Zobrazovať vzdialený ukazovateľ myši"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Vypnúť schránku"), ("Disable clipboard", "Vypnúť schránku"),

@ -29,8 +29,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Enable TCP Tunneling", ""), ("Enable TCP Tunneling", ""),
("IP Whitelisting", ""), ("IP Whitelisting", ""),
("ID/Relay Server", ""), ("ID/Relay Server", ""),
("Import server configuration successfully", ""),
("Import Server Conf", ""), ("Import Server Conf", ""),
("Import server configuration successfully", ""),
("Invalid server configuration", ""), ("Invalid server configuration", ""),
("Clipboard is empty", ""), ("Clipboard is empty", ""),
("Stop service", ""), ("Stop service", ""),
@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", ""), ("Delete", ""),
("Properties", ""), ("Properties", ""),
("Multi Select", ""), ("Multi Select", ""),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", ""), ("Empty Directory", ""),
("Not an empty directory", ""), ("Not an empty directory", ""),
("Are you sure you want to delete this file?", ""), ("Are you sure you want to delete this file?", ""),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Sil"), ("Delete", "Sil"),
("Properties", "Özellikler"), ("Properties", "Özellikler"),
("Multi Select", "Çoklu Seçim"), ("Multi Select", "Çoklu Seçim"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Boş Klasör"), ("Empty Directory", "Boş Klasör"),
("Not an empty directory", "Klasör boş değil"), ("Not an empty directory", "Klasör boş değil"),
("Are you sure you want to delete this file?", "Bu dosyayı silmek istediğinize emin misiniz?"), ("Are you sure you want to delete this file?", "Bu dosyayı silmek istediğinize emin misiniz?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "İyi görüntü kalitesi"), ("Good image quality", "İyi görüntü kalitesi"),
("Balanced", "Dengelenmiş"), ("Balanced", "Dengelenmiş"),
("Optimize reaction time", "Tepki süresini optimize et"), ("Optimize reaction time", "Tepki süresini optimize et"),
("Custom", "Özel"), ("Custom", ""),
("Show remote cursor", "Uzaktaki fare imlecini göster"), ("Show remote cursor", "Uzaktaki fare imlecini göster"),
("Show quality monitor", ""), ("Show quality monitor", ""),
("Disable clipboard", "Hafızadaki kopyalanmışları engelle"), ("Disable clipboard", "Hafızadaki kopyalanmışları engelle"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "刪除"), ("Delete", "刪除"),
("Properties", "屬性"), ("Properties", "屬性"),
("Multi Select", "多選"), ("Multi Select", "多選"),
("Select All", "全選"),
("Unselect All", "取消全選"),
("Empty Directory", "空文件夾"), ("Empty Directory", "空文件夾"),
("Not an empty directory", "不是一個空文件夾"), ("Not an empty directory", "不是一個空文件夾"),
("Are you sure you want to delete this file?", "您確定要刪除此檔案嗎?"), ("Are you sure you want to delete this file?", "您確定要刪除此檔案嗎?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "畫面品質良好"), ("Good image quality", "畫面品質良好"),
("Balanced", "平衡"), ("Balanced", "平衡"),
("Optimize reaction time", "回應速度最佳化"), ("Optimize reaction time", "回應速度最佳化"),
("Custom", ""), ("Custom", "定義"),
("Show remote cursor", "顯示遠端游標"), ("Show remote cursor", "顯示遠端游標"),
("Show quality monitor", "顯示質量監測"), ("Show quality monitor", "顯示質量監測"),
("Disable clipboard", "停用剪貼簿"), ("Disable clipboard", "停用剪貼簿"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Видалити"), ("Delete", "Видалити"),
("Properties", "Властивості"), ("Properties", "Властивості"),
("Multi Select", "Багатоелементний вибір"), ("Multi Select", "Багатоелементний вибір"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Порожня папка"), ("Empty Directory", "Порожня папка"),
("Not an empty directory", "Папка не порожня"), ("Not an empty directory", "Папка не порожня"),
("Are you sure you want to delete this file?", "Ви впевнені, що хочете видалити цей файл?"), ("Are you sure you want to delete this file?", "Ви впевнені, що хочете видалити цей файл?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Хороша якість зображення"), ("Good image quality", "Хороша якість зображення"),
("Balanced", "Збалансований"), ("Balanced", "Збалансований"),
("Optimize reaction time", "Оптимізувати час реакції"), ("Optimize reaction time", "Оптимізувати час реакції"),
("Custom", "Користувацький"), ("Custom", ""),
("Show remote cursor", "Показати віддалений курсор"), ("Show remote cursor", "Показати віддалений курсор"),
("Show quality monitor", "Показати якість"), ("Show quality monitor", "Показати якість"),
("Disable clipboard", "Відключити буфер обміну"), ("Disable clipboard", "Відключити буфер обміну"),

@ -87,6 +87,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Delete", "Xóa"), ("Delete", "Xóa"),
("Properties", "Thuộc tính"), ("Properties", "Thuộc tính"),
("Multi Select", "Chọn nhiều"), ("Multi Select", "Chọn nhiều"),
("Select All", ""),
("Unselect All", ""),
("Empty Directory", "Thư mục rỗng"), ("Empty Directory", "Thư mục rỗng"),
("Not an empty directory", "Không phải thư mục rỗng"), ("Not an empty directory", "Không phải thư mục rỗng"),
("Are you sure you want to delete this file?", "Bạn chắc bạn có muốn xóa tệp tin này không?"), ("Are you sure you want to delete this file?", "Bạn chắc bạn có muốn xóa tệp tin này không?"),
@ -112,7 +114,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("Good image quality", "Chất lượng hình ảnh tốt"), ("Good image quality", "Chất lượng hình ảnh tốt"),
("Balanced", "Cân bằng"), ("Balanced", "Cân bằng"),
("Optimize reaction time", "Thời gian phản ứng tối ưu"), ("Optimize reaction time", "Thời gian phản ứng tối ưu"),
("Custom", "Custom"), ("Custom", ""),
("Show remote cursor", "Hiển thị con trỏ từ máy từ xa"), ("Show remote cursor", "Hiển thị con trỏ từ máy từ xa"),
("Show quality monitor", "Hiện thị chất lượng của màn hình"), ("Show quality monitor", "Hiện thị chất lượng của màn hình"),
("Disable clipboard", "Tắt clipboard"), ("Disable clipboard", "Tắt clipboard"),