Compare commits
4 commits
6a93a73a63
...
ab47f1c960
Author | SHA1 | Date | |
---|---|---|---|
|
ab47f1c960 | ||
|
b99357a361 | ||
|
39c5977af7 | ||
|
2aaf655481 |
16 changed files with 161 additions and 69 deletions
|
@ -3,8 +3,9 @@
|
||||||
|
|
||||||
#### Other languages
|
#### Other languages
|
||||||
[![Russian](flag/ru-flag.svg)](README_RU.md)
|
[![Russian](flag/ru-flag.svg)](README_RU.md)
|
||||||
|
[![Spanish](flag/es-flag.svg)](README_ES.md)
|
||||||
[![Japanese](flag/jp-flag.svg)](README_JP.md)
|
[![Japanese](flag/jp-flag.svg)](README_JP.md)
|
||||||
[![Ryukyuan](flag/jp-flag.svg)](README_RYU.md)(Ryukyuan)
|
[![Ryukyuan](flag/jp-flag.svg)](README_RYU.md)(Ryukyuan)
|
||||||
|
|
||||||
OPL-compatible PS2 tool for making split files. Sort of ul.cfg manager or USBUtil. Good for use on mac and linux.
|
OPL-compatible PS2 tool for making split files. Sort of ul.cfg manager or USBUtil. Good for use on mac and linux.
|
||||||
|
|
||||||
|
|
45
README_ES.md
Normal file
45
README_ES.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
## Tihwin
|
||||||
|
![License](https://img.shields.io/badge/License-GPLv3-blue.svg) ![LatestVer](https://img.shields.io/github/release/developersu/Tihwin.svg) [![Build Status](https://ci.redrise.ru/api/badges/desu/Tihwin/status.svg)](https://ci.redrise.ru/desu/Tihwin)
|
||||||
|
|
||||||
|
#### Otros idiomas
|
||||||
|
[![Inglés](flag/us-flag.svg)](README.md)
|
||||||
|
[![Ruso](flag/ru-flag.svg)](README_RU.md)
|
||||||
|
[![Japonés](flag/jp-flag.svg)](README_JP.md)
|
||||||
|
[![Ryukyuan](flag/jp-flag.svg)](README_RYU.md)(Ryukyuan)
|
||||||
|
|
||||||
|
Herramienta compatible con OPL para crear archivos de juego fraccionados. Similar a "ul.cfg manager" o "USBUtil". Compatible con Mac y Linux.
|
||||||
|
|
||||||
|
![Application screenshot1](screenshots/1.png)
|
||||||
|
![Application screenshot2](screenshots/2.png)
|
||||||
|
|
||||||
|
#### Mantengámonos en contacto
|
||||||
|
|
||||||
|
Los repositorios de GitHub vienen y van, los mirrors son eternos: https://git.redrise.ru/desu/Tihwin
|
||||||
|
|
||||||
|
#### Licencia
|
||||||
|
|
||||||
|
GNU GLPv3 o más reciente. Por favor ver LICENSE.
|
||||||
|
|
||||||
|
#### Requisitos
|
||||||
|
|
||||||
|
* Java (no es necesario si se utiliza Installer.exe)
|
||||||
|
|
||||||
|
#### Comentarios
|
||||||
|
|
||||||
|
Crea una nueva entrada en "Issues" con un reporte de error o una propuesta para ayudar al desarrollo del software.
|
||||||
|
|
||||||
|
#### Agradecimientos
|
||||||
|
|
||||||
|
* [DDinghoya](https://github.com/DDinghoya), quien tradujo la app a Coreano!
|
||||||
|
* [Ignacio Grosso](https://github.com/blckbearx), quien tradujo la app a Español!
|
||||||
|
* [kuragehime](https://github.com/kuragehimekurara1), quien tradujo la app a Japonés y Ryukyuan!
|
||||||
|
|
||||||
|
#### Traducciones
|
||||||
|
|
||||||
|
Todos sabemos que [tu_idioma] es el mejor! Por esto, por favor crea un "PR" ("Pull Request") o un "Issue" con el archivo `.../src/main/resources/locale.properties` traducido a tu idioma.
|
||||||
|
|
||||||
|
(Por cierto, para convertir archivos de cualquier idioma a un formato legible (y viceversa) puedes utilizar este sitio [https://itpro.cz/juniconv/](https://itpro.cz/juniconv/))
|
||||||
|
|
||||||
|
#### Apoyo
|
||||||
|
|
||||||
|
Dale una estrella al proyecto en GitHub.
|
|
@ -4,7 +4,8 @@
|
||||||
#### 他の言語
|
#### 他の言語
|
||||||
[![英語](flag/us-flag.svg)](README.md)
|
[![英語](flag/us-flag.svg)](README.md)
|
||||||
[![ロシア語](flag/ru-flag.svg)](README_RU.md)
|
[![ロシア語](flag/ru-flag.svg)](README_RU.md)
|
||||||
[![琉球諸語](flag/jp-flag.svg)](README_RYU.md)(琉球諸語)
|
[![スペイン語](flag/es-flag.svg)](README_ES.md)
|
||||||
|
[![琉球諸語](flag/jp-flag.svg)](README_RYU.md)(琉球諸語)
|
||||||
|
|
||||||
分割ファイルを作成するためのOPL互換のPS2ツール。 ul.cfg ネージャーまたはUSBUtilの並べ替え。MacおよびLinuxでの使用に適しています。
|
分割ファイルを作成するためのOPL互換のPS2ツール。 ul.cfg ネージャーまたはUSBUtilの並べ替え。MacおよびLinuxでの使用に適しています。
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
![License](https://img.shields.io/badge/License-GPLv3-blue.svg) ![LatestVer](https://img.shields.io/github/release/developersu/Tihwin.svg) [![Build Status](https://ci.redrise.ru/api/badges/desu/Tihwin/status.svg)](https://ci.redrise.ru/desu/Tihwin)
|
![License](https://img.shields.io/badge/License-GPLv3-blue.svg) ![LatestVer](https://img.shields.io/github/release/developersu/Tihwin.svg) [![Build Status](https://ci.redrise.ru/api/badges/desu/Tihwin/status.svg)](https://ci.redrise.ru/desu/Tihwin)
|
||||||
|
|
||||||
#### Другие языки
|
#### Другие языки
|
||||||
[![Английский язык](flag/us-flag.svg)](README.md)
|
[![Английский язык](flag/us-flag.svg)](README.md)
|
||||||
|
[![испанский](flag/es-flag.svg)](README_ES.md)
|
||||||
[![Японский язык](flag/jp-flag.svg)](README_JP.md)
|
[![Японский язык](flag/jp-flag.svg)](README_JP.md)
|
||||||
[![Рюкюские языки](flag/jp-flag.svg)](README_RYU.md)(Рюкюские языки)
|
[![Рюкюские языки](flag/jp-flag.svg)](README_RYU.md)(Рюкюские языки)
|
||||||
|
|
||||||
Это OPL-совместимая утилита для PS2. Используется для создания т.н. «сплит-файлов». Это что-то вроде менеджера ul.cfg или, другими словами, аналог USBUtil. Отличной подойдёт для использования в маке и линуксе.
|
Это OPL-совместимая утилита для PS2. Используется для создания т.н. «сплит-файлов». Это что-то вроде менеджера ul.cfg или, другими словами, аналог USBUtil. Отличной подойдёт для использования в маке и линуксе.
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,9 @@
|
||||||
|
|
||||||
#### 他ぬ言語
|
#### 他ぬ言語
|
||||||
[![英語](flag/us-flag.svg)](README.md)
|
[![英語](flag/us-flag.svg)](README.md)
|
||||||
|
[![ロシア語](flag/ru-flag.svg)](README_RU.md)
|
||||||
|
[![Spanish](flag/es-flag.svg)](README_ES.md)
|
||||||
[![やまとぅぐち](flag/jp-flag.svg)](README_JP.md)(やまとぅぐち)
|
[![やまとぅぐち](flag/jp-flag.svg)](README_JP.md)(やまとぅぐち)
|
||||||
[![ロシア語](flag/ru-flag.svg)](README_RU.md)
|
|
||||||
|
|
||||||
分割ファイル作成するたみぬOPL互換ぬPS2ツール。 ul.cfgマネージャーあらんでぃUSBUtilぬ並べい替い。MacうゆびLinuxっしぬ使用んかい適ちょーいびーん。
|
分割ファイル作成するたみぬOPL互換ぬPS2ツール。 ul.cfgマネージャーあらんでぃUSBUtilぬ並べい替い。MacうゆびLinuxっしぬ使用んかい適ちょーいびーん。
|
||||||
|
|
||||||
|
|
1
flag/es-flag.svg
Normal file
1
flag/es-flag.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg width="21" height="15" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="a"><stop stop-color="#FFF" offset="0%"/><stop stop-color="#F0F0F0" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="b"><stop stop-color="#DD172C" offset="0%"/><stop stop-color="#C60B1F" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="c"><stop stop-color="#FFD133" offset="0%"/><stop stop-color="#FFC500" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" d="M0 0h21v15H0z"/><path fill="url(#b)" d="M0 0h21v4H0zm0 11h21v4H0z"/><path fill="url(#c)" d="M0 4h21v7H0z"/><path fill="#FFEDB1" d="M5.5 7h1v.5h-1z"/><path d="M4.915 8.46c.025.295.291.54.585.54s.56-.246.585-.54L6.207 7H4.793l.122 1.46zm-.624-1.465a.456.456 0 0 1 .465-.495h1.488a.45.45 0 0 1 .465.495l-.126 1.506A1.104 1.104 0 0 1 5.5 9.5a1.104 1.104 0 0 1-1.083-.999L4.29 6.995z" fill="#A41517" fill-rule="nonzero"/><path fill="#A41517" d="M4.5 7.5h2V8H6l-.5 1L5 8h-.5zM3 6h1v3.5H3zm4 0h1v3.5H7zm-2.5-.5c0-.276.214-.5.505-.5h.99c.279 0 .505.232.505.5v.248A.248.248 0 0 1 6.255 6h-1.51a.245.245 0 0 1-.245-.252V5.5z"/></g></svg>
|
After Width: | Height: | Size: 1.2 KiB |
6
pom.xml
6
pom.xml
|
@ -8,7 +8,7 @@
|
||||||
<name>Tihwin</name>
|
<name>Tihwin</name>
|
||||||
|
|
||||||
<artifactId>Tihwin</artifactId>
|
<artifactId>Tihwin</artifactId>
|
||||||
<version>2.3</version>
|
<version>2.4</version>
|
||||||
|
|
||||||
<url>https://github.com/developersu/${project.artifactId}/</url>
|
<url>https://github.com/developersu/${project.artifactId}/</url>
|
||||||
<description>
|
<description>
|
||||||
|
@ -160,8 +160,8 @@
|
||||||
</versionInfo>
|
</versionInfo>
|
||||||
<messages>
|
<messages>
|
||||||
<startupErr>Startup error</startupErr>
|
<startupErr>Startup error</startupErr>
|
||||||
<jreNotFoundErr>JDK not found</jreNotFoundErr>
|
<jreNotFoundErr>Please check your Java Runtime installation. JDK not found</jreNotFoundErr>
|
||||||
<jreVersionErr>JDK Version mismatch</jreVersionErr>
|
<jreVersionErr>Please check your Java Runtime installation. JDK Version mismatch</jreVersionErr>
|
||||||
<launcherErr>Launcher Error</launcherErr>
|
<launcherErr>Launcher Error</launcherErr>
|
||||||
</messages>
|
</messages>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
*/
|
*/
|
||||||
package tihwin;
|
package tihwin;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
public class AwesomeMediator {
|
public class AwesomeMediator {
|
||||||
private final static AwesomeMediator INSTANCE = new AwesomeMediator();
|
private final static AwesomeMediator INSTANCE = new AwesomeMediator();
|
||||||
|
|
||||||
|
@ -33,4 +35,6 @@ public class AwesomeMediator {
|
||||||
public static void notifyAllConvertsEnded(){
|
public static void notifyAllConvertsEnded(){
|
||||||
INSTANCE.mainAppUi.notifySplitFinished();
|
INSTANCE.mainAppUi.notifySplitFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setDiskImage(File file){INSTANCE.mainAppUi.setDiskImageFile(file);}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,8 +33,8 @@ import javax.swing.border.Border;
|
||||||
import javax.swing.border.LineBorder;
|
import javax.swing.border.LineBorder;
|
||||||
import javax.swing.text.AbstractDocument;
|
import javax.swing.text.AbstractDocument;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.awt.event.WindowListener;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
@ -73,6 +73,7 @@ public class MainAppUi extends JFrame {
|
||||||
resourceBundle = ResourceBundle.getBundle("locale");
|
resourceBundle = ResourceBundle.getBundle("locale");
|
||||||
AwesomeMediator.setMainUi(this);
|
AwesomeMediator.setMainUi(this);
|
||||||
setLocationRelativeTo(null); // Set window on [kinda] center
|
setLocationRelativeTo(null); // Set window on [kinda] center
|
||||||
|
new FilesDropListener(mainPanel);
|
||||||
setContentPane(mainPanel);
|
setContentPane(mainPanel);
|
||||||
statusJPanel.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, Color.darkGray));
|
statusJPanel.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, Color.darkGray));
|
||||||
convertBtn.setEnabled(false);
|
convertBtn.setEnabled(false);
|
||||||
|
@ -87,7 +88,15 @@ public class MainAppUi extends JFrame {
|
||||||
CDRadioButton.setSelected(true);
|
CDRadioButton.setSelected(true);
|
||||||
recentRomLocation = Settings.INSTANCE.getRomLocation();
|
recentRomLocation = Settings.INSTANCE.getRomLocation();
|
||||||
destinationDirectoryLbl.setText(FilesHelper.getRealFolder(Settings.INSTANCE.getDestination()));
|
destinationDirectoryLbl.setText(FilesHelper.getRealFolder(Settings.INSTANCE.getDestination()));
|
||||||
addWindowListener(getWindowListener());
|
addWindowListener(new WindowAdapter(){
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent windowEvent) {
|
||||||
|
Settings.INSTANCE.setRomLocation(recentRomLocation);
|
||||||
|
Settings.INSTANCE.setDestination(destinationDirectoryLbl.getText());
|
||||||
|
Settings.INSTANCE.setDvdSelected(DVDRadioButton.isSelected());
|
||||||
|
Settings.INSTANCE.setLocale(((LocaleHolder) ulLangComboBox.getSelectedItem()).getLocaleCode());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Border fitMoreTextOnButtonBorder = BorderFactory.createCompoundBorder(
|
Border fitMoreTextOnButtonBorder = BorderFactory.createCompoundBorder(
|
||||||
BorderFactory.createLineBorder(Color.gray),
|
BorderFactory.createLineBorder(Color.gray),
|
||||||
|
@ -100,70 +109,32 @@ public class MainAppUi extends JFrame {
|
||||||
titleField.setBorder(new LineBorder(Color.lightGray));
|
titleField.setBorder(new LineBorder(Color.lightGray));
|
||||||
}
|
}
|
||||||
|
|
||||||
private WindowListener getWindowListener() {
|
|
||||||
return new WindowListener() {
|
|
||||||
@Override
|
|
||||||
public void windowClosing(WindowEvent windowEvent) {
|
|
||||||
Settings.INSTANCE.setRomLocation(recentRomLocation);
|
|
||||||
Settings.INSTANCE.setDestination(destinationDirectoryLbl.getText());
|
|
||||||
Settings.INSTANCE.setDvdSelected(DVDRadioButton.isSelected());
|
|
||||||
Settings.INSTANCE.setLocale(
|
|
||||||
((LocaleHolder) ulLangComboBox.getSelectedItem()).getLocaleCode());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowOpened(WindowEvent windowEvent) {
|
|
||||||
diskImageSelectBtn.grabFocus();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowClosed(WindowEvent windowEvent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowIconified(WindowEvent windowEvent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowDeiconified(WindowEvent windowEvent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowActivated(WindowEvent windowEvent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void windowDeactivated(WindowEvent windowEvent) {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
private void diskImageSelectEventHandler() {
|
private void diskImageSelectEventHandler() {
|
||||||
try {
|
|
||||||
JFileChooser fileChooser = new JFileChooser(FilesHelper.getRealFolder(recentRomLocation));
|
JFileChooser fileChooser = new JFileChooser(FilesHelper.getRealFolder(recentRomLocation));
|
||||||
fileChooser.setDialogTitle(resourceBundle.getString("SelectDiskImageText"));
|
fileChooser.setDialogTitle(resourceBundle.getString("SelectDiskImageText"));
|
||||||
fileChooser.setFileFilter(new IsoFileFilter());
|
fileChooser.setFileFilter(new IsoFileFilter());
|
||||||
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
|
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
|
||||||
setDiskImageFile(fileChooser.getSelectedFile());
|
setDiskImageFile(fileChooser.getSelectedFile());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDiskImageFile(File imageFile){
|
||||||
|
try {
|
||||||
|
recentRomLocation = imageFile.getParent();
|
||||||
|
ISO9660 iso9660 = new ISO9660(imageFile);
|
||||||
|
publisherTitle = iso9660.getTitle();
|
||||||
|
|
||||||
|
diskImageNameLbl.setText(imageFile.getName());
|
||||||
|
convertBtn.setEnabled(true);
|
||||||
|
statusLbl.setText(imageFile.getAbsolutePath());
|
||||||
|
|
||||||
|
diskImage = imageFile;
|
||||||
|
setProposedTitle();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
statusLbl.setText(e.getMessage());
|
statusLbl.setText(e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setDiskImageFile(File imageFile) throws Exception {
|
|
||||||
recentRomLocation = imageFile.getParent();
|
|
||||||
ISO9660 iso9660 = new ISO9660(imageFile);
|
|
||||||
publisherTitle = iso9660.getTitle();
|
|
||||||
|
|
||||||
diskImageNameLbl.setText(imageFile.getName());
|
|
||||||
convertBtn.setEnabled(true);
|
|
||||||
statusLbl.setText(imageFile.getAbsolutePath());
|
|
||||||
|
|
||||||
diskImage = imageFile;
|
|
||||||
setProposedTitle();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setProposedTitle() {
|
private void setProposedTitle() {
|
||||||
String proposedName = diskImage.getName().replaceAll("(\\..*)|(\\[.*)", "").trim();
|
String proposedName = diskImage.getName().replaceAll("(\\..*)|(\\[.*)", "").trim();
|
||||||
if (proposedName.length() > 31)
|
if (proposedName.length() > 31)
|
||||||
|
@ -177,7 +148,6 @@ public class MainAppUi extends JFrame {
|
||||||
JFileChooser fileChooser = new JFileChooser(FilesHelper.getRealFolder(destinationDirectoryLbl.getText()));
|
JFileChooser fileChooser = new JFileChooser(FilesHelper.getRealFolder(destinationDirectoryLbl.getText()));
|
||||||
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||||
fileChooser.setDialogTitle(resourceBundle.getString("SetDestinationDirectoryText"));
|
fileChooser.setDialogTitle(resourceBundle.getString("SetDestinationDirectoryText"));
|
||||||
fileChooser.setFileFilter(new IsoFileFilter());
|
|
||||||
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
|
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
|
||||||
setDestinationDir(fileChooser.getSelectedFile());
|
setDestinationDir(fileChooser.getSelectedFile());
|
||||||
}
|
}
|
||||||
|
|
68
src/main/java/tihwin/ui/FilesDropListener.java
Normal file
68
src/main/java/tihwin/ui/FilesDropListener.java
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
Copyright 2023 Dmitry Isaenko
|
||||||
|
|
||||||
|
This file is part of Tihwin.
|
||||||
|
|
||||||
|
Tihwin 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 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Tihwin 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 Tihwin. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package tihwin.ui;
|
||||||
|
|
||||||
|
import tihwin.AwesomeMediator;
|
||||||
|
import tihwin.UpdateUlTableUi;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.datatransfer.DataFlavor;
|
||||||
|
import java.awt.datatransfer.Transferable;
|
||||||
|
import java.awt.dnd.*;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FilesDropListener extends DropTargetAdapter {
|
||||||
|
public FilesDropListener(JPanel panel){
|
||||||
|
new DropTarget(panel, DnDConstants.ACTION_COPY, this, true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drop(DropTargetDropEvent event) {
|
||||||
|
if (! event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
|
||||||
|
event.rejectDrop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
event.acceptDrop(DnDConstants.ACTION_COPY);
|
||||||
|
Transferable transferable = event.getTransferable();
|
||||||
|
try {
|
||||||
|
List<File> files = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
|
||||||
|
|
||||||
|
for (File file : files) {
|
||||||
|
if (file.isDirectory())
|
||||||
|
continue;
|
||||||
|
// Pick up first ISO file found and drop iteration
|
||||||
|
if (file.getName().toLowerCase().endsWith(".iso")) {
|
||||||
|
AwesomeMediator.setDiskImage(file);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// If no ISO maybe there are ul.cfg than
|
||||||
|
if (file.isFile() && file.getName().equalsIgnoreCase("ul.cfg")){
|
||||||
|
new UpdateUlTableUi(file.getParentFile().getAbsolutePath());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
event.rejectDrop();
|
||||||
|
}
|
||||||
|
event.dropComplete(true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=Task interrupted and file chunks deleted
|
||||||
InterruptedAndFilesNotDeletedText=Task interrupted and file chunks are NOT deleted
|
InterruptedAndFilesNotDeletedText=Task interrupted and file chunks are NOT deleted
|
||||||
InterruptedText=Interrupted
|
InterruptedText=Interrupted
|
||||||
isoFilesText=ISO files
|
isoFilesText=ISO files
|
||||||
WelcomeText=Welcome! It's Tihwin: ul-utility for your PS2! GPLv3+, 2022, Dmitry Isaenko
|
WelcomeText=Welcome! It's Tihwin: ul-utility for your PS2! GPLv3+, 2022-2023, Dmitry Isaenko
|
||||||
SelectBtn=Select
|
SelectBtn=Select
|
||||||
SelectDiskImageText=Select disk image
|
SelectDiskImageText=Select disk image
|
||||||
SetDestinationDirectoryText=Set destination directory
|
SetDestinationDirectoryText=Set destination directory
|
||||||
|
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=Tarea interrumpida y archivos fraccionados elimin
|
||||||
InterruptedAndFilesNotDeletedText=Tarea interrumpida y archivos fraccionados NO eliminados
|
InterruptedAndFilesNotDeletedText=Tarea interrumpida y archivos fraccionados NO eliminados
|
||||||
InterruptedText=Interrumpido
|
InterruptedText=Interrumpido
|
||||||
isoFilesText=Archivos ISO
|
isoFilesText=Archivos ISO
|
||||||
WelcomeText=Bienvenido! Soy Tihwin: una utilidad de formato ul para tu PS2! GPLv3+, 2022, Dmitry Isaenko
|
WelcomeText=Bienvenido! Soy Tihwin: una utilidad de formato ul para tu PS2! GPLv3+, 2022-2023, Dmitry Isaenko
|
||||||
SelectBtn=Seleccionar
|
SelectBtn=Seleccionar
|
||||||
SelectDiskImageText=Seleccionar imagen de disco
|
SelectDiskImageText=Seleccionar imagen de disco
|
||||||
SetDestinationDirectoryText=Elegir directorio de destino
|
SetDestinationDirectoryText=Elegir directorio de destino
|
||||||
|
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=\u30BF\u30B9\u30AF\u304C\u4E2D\u65AD\u3055\u308C\
|
||||||
InterruptedAndFilesNotDeletedText=\u30BF\u30B9\u30AF\u306E\u4E2D\u65AD\u3068\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306E\u524A\u9664\u306F\u3055\u308C\u307E\u305B\u3093\u3002
|
InterruptedAndFilesNotDeletedText=\u30BF\u30B9\u30AF\u306E\u4E2D\u65AD\u3068\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306E\u524A\u9664\u306F\u3055\u308C\u307E\u305B\u3093\u3002
|
||||||
InterruptedText=\u4E2D\u65AD
|
InterruptedText=\u4E2D\u65AD
|
||||||
isoFilesText=ISO\u30D5\u30A1\u30A4\u30EB
|
isoFilesText=ISO\u30D5\u30A1\u30A4\u30EB
|
||||||
WelcomeText=\u3088\u3046\u3053\u305D\uFF01 Tihwin: PS2\u306E\u305F\u3081\u306Eul-utility\u3067\u3059\uFF01 GPLv3+, 2022, Dmitry Isaenko
|
WelcomeText=\u3088\u3046\u3053\u305D\uFF01 Tihwin: PS2\u306E\u305F\u3081\u306Eul-utility\u3067\u3059\uFF01 GPLv3+, 2022-2023, Dmitry Isaenko
|
||||||
SelectBtn=\u9078\u629E
|
SelectBtn=\u9078\u629E
|
||||||
SelectDiskImageText=\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u3092\u9078\u629E
|
SelectDiskImageText=\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u3092\u9078\u629E
|
||||||
SetDestinationDirectoryText=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u8A2D\u5B9A
|
SetDestinationDirectoryText=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u8A2D\u5B9A
|
||||||
|
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=\u30BF\u30B9\u30AF\u306C\u4E2D\u65AD\u3055\u308C\
|
||||||
InterruptedAndFilesNotDeletedText=\u30BF\u30B9\u30AF\u306C\u4E2D\u65AD\u3068\u3045\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306C\u524A\u9664\u30FC\u3055\u308A\u3084\u3073\u3089\u3093\u3002
|
InterruptedAndFilesNotDeletedText=\u30BF\u30B9\u30AF\u306C\u4E2D\u65AD\u3068\u3045\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306C\u524A\u9664\u30FC\u3055\u308A\u3084\u3073\u3089\u3093\u3002
|
||||||
InterruptedText=\u4E2D\u65AD
|
InterruptedText=\u4E2D\u65AD
|
||||||
isoFilesText=ISO\u30D5\u30A1\u30A4\u30EB
|
isoFilesText=ISO\u30D5\u30A1\u30A4\u30EB
|
||||||
WelcomeText=\u3081\u3093\u305D\u30FC\u308C\u30FC\uFF01 Tihwin: PS2\u306C\u305F\u307F\u306Cul-utility\u3084\u3044\u3073\u30FC\u3093\uFF01 GPLv3+, 2022, Dmitry Isaenko
|
WelcomeText=\u3081\u3093\u305D\u30FC\u308C\u30FC\uFF01 Tihwin: PS2\u306C\u305F\u307F\u306Cul-utility\u3084\u3044\u3073\u30FC\u3093\uFF01 GPLv3+, 2022-2023, Dmitry Isaenko
|
||||||
SelectBtn=\u9078\u629E
|
SelectBtn=\u9078\u629E
|
||||||
SelectDiskImageText=\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u9078\u629E
|
SelectDiskImageText=\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u9078\u629E
|
||||||
SetDestinationDirectoryText=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306C\u8A2D\u5B9A
|
SetDestinationDirectoryText=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306C\u8A2D\u5B9A
|
||||||
|
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=\uC791\uC5C5\uC774 \uC911\uB2E8\uB418\uACE0 \uD30
|
||||||
InterruptedAndFilesNotDeletedText=\uC791\uC5C5\uC774 \uC911\uB2E8\uB418\uACE0 \uD30C\uC77C \uCCAD\uD06C\uAC00 \uC0AD\uC81C\uB418\uC9C0 \uC54A\uC74C
|
InterruptedAndFilesNotDeletedText=\uC791\uC5C5\uC774 \uC911\uB2E8\uB418\uACE0 \uD30C\uC77C \uCCAD\uD06C\uAC00 \uC0AD\uC81C\uB418\uC9C0 \uC54A\uC74C
|
||||||
InterruptedText=\uC911\uB2E8
|
InterruptedText=\uC911\uB2E8
|
||||||
isoFilesText=ISO \uD30C\uC77C
|
isoFilesText=ISO \uD30C\uC77C
|
||||||
WelcomeText=\uD658\uC601\uD569\uB2C8\uB2E4! PS2\uC6A9 Tihwin: ul-\uC720\uD2F8\uB9AC\uD2F0\uC785\uB2C8\uB2E4! GPLv3+, 2022, \uB4DC\uBBF8\uD2B8\uB9AC \uC774\uC0AC\uC5D4\uCF54
|
WelcomeText=\uD658\uC601\uD569\uB2C8\uB2E4! PS2\uC6A9 Tihwin: ul-\uC720\uD2F8\uB9AC\uD2F0\uC785\uB2C8\uB2E4! GPLv3+, 2022-2023, \uB4DC\uBBF8\uD2B8\uB9AC \uC774\uC0AC\uC5D4\uCF54
|
||||||
SelectBtn=\uC120\uD0DD
|
SelectBtn=\uC120\uD0DD
|
||||||
SelectDiskImageText=\uB514\uC2A4\uD06C \uC774\uBBF8\uC9C0 \uC120\uD0DD
|
SelectDiskImageText=\uB514\uC2A4\uD06C \uC774\uBBF8\uC9C0 \uC120\uD0DD
|
||||||
SetDestinationDirectoryText=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC \uC124\uC815
|
SetDestinationDirectoryText=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC \uC124\uC815
|
||||||
|
|
|
@ -8,7 +8,7 @@ InterruptedAndFilesDeletedText=\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0440
|
||||||
InterruptedAndFilesNotDeletedText=\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0440\u0435\u0440\u0432\u0430\u043D\u0430 \u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B \u0444\u0430\u0439\u043B\u0430 \u041D\u0415 \u0443\u0434\u0430\u043B\u0435\u043D\u044B
|
InterruptedAndFilesNotDeletedText=\u0417\u0430\u0434\u0430\u0447\u0430 \u043F\u0440\u0435\u0440\u0432\u0430\u043D\u0430 \u0438 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B \u0444\u0430\u0439\u043B\u0430 \u041D\u0415 \u0443\u0434\u0430\u043B\u0435\u043D\u044B
|
||||||
InterruptedText=\u041F\u0440\u0435\u0440\u0432\u0430\u043D\u043E
|
InterruptedText=\u041F\u0440\u0435\u0440\u0432\u0430\u043D\u043E
|
||||||
isoFilesText=\u0424\u0430\u0439\u043B\u044B ISO
|
isoFilesText=\u0424\u0430\u0439\u043B\u044B ISO
|
||||||
WelcomeText=\u041F\u0440\u0438\u0432\u0435\u0442! \u042D\u0442\u043E Tihwin \u2212 ul-\u0443\u0442\u0438\u043B\u0438\u0442\u0430 \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0439 PS2! GPLv3+, 2022, \u0414\u043C\u0438\u0442\u0440\u0438\u0439 \u0418\u0441\u0430\u0435\u043D\u043A\u043E
|
WelcomeText=\u041F\u0440\u0438\u0432\u0435\u0442! \u042D\u0442\u043E Tihwin \u2212 ul-\u0443\u0442\u0438\u043B\u0438\u0442\u0430 \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0439 PS2! GPLv3+, 2022-2023, \u0414\u043C\u0438\u0442\u0440\u0438\u0439 \u0418\u0441\u0430\u0435\u043D\u043A\u043E
|
||||||
SelectBtn=\u0412\u044B\u0431\u0440\u0430\u0442\u044C
|
SelectBtn=\u0412\u044B\u0431\u0440\u0430\u0442\u044C
|
||||||
SelectDiskImageText=\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0437 \u0434\u0438\u0441\u043A\u0430
|
SelectDiskImageText=\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0437 \u0434\u0438\u0441\u043A\u0430
|
||||||
SetDestinationDirectoryText=\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
SetDestinationDirectoryText=\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u043F\u0430\u043F\u043A\u0443 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
||||||
|
|
Loading…
Reference in a new issue