Crée une sauvegarde si elle n'existe pas + Ajout de raccourcis clavier pour les modes synchro et séparés

This commit is contained in:
LucasV-IUT
2022-03-07 00:17:00 +01:00
parent 995687506e
commit e682914346
6 changed files with 41 additions and 74 deletions
BIN
View File
Binary file not shown.
+2 -2
View File
@@ -33,8 +33,8 @@ public class MenuMode extends JMenu {
super("Mode");
/* Crée les différentes options */
ModeSepare modeSepare = new ModeSepare(parent);
ModeSynchronise modeSynchronise = new ModeSynchronise(parent);
ModeSepare modeSepare = new ModeSepare();
ModeSynchronise modeSynchronise = new ModeSynchronise();
NouvelleFenetre nouvelleFenetre = new NouvelleFenetre(parent);
/* Les ajoute au gestionnaire des mode */
@@ -42,22 +42,6 @@ public abstract class MenuItem extends JMenuItem {
protected abstract void action(ActionEvent evt);
// public void setRaccourcis(int key) {
// KeyStroke raccourcis.save = KeyStroke.getKeyStroke((char) key);
// setAccelerator(raccourcis.save);
//
// RaccourcisClavier.raccourcis.save.put(this.getText(), raccourcis.save);
// RaccourcisClavier.gestionnaireRaccourcis.put(this, this.getText());
// }
// public void setRaccourcis(int key, int mask) {
// KeyStroke raccourcis.save = KeyStroke.getKeyStroke(key, mask);
// setAccelerator(raccourcis.save);
//
// RaccourcisClavier.raccourcis.save.put(this.getText(), raccourcis.save);
// RaccourcisClavier.gestionnaireRaccourcis.put(this, this.getText());
// }
}
@@ -8,6 +8,7 @@ package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionMode;
import lecteur_pdf.IhmPdf;
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
import javax.swing.*;
@@ -21,25 +22,17 @@ import javax.swing.*;
*/
public class ModeSepare extends JRadioButtonMenuItem {
/**
* TODO
*/
IhmPdf parent;
/**
* TODO
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ModeSepare(IhmPdf parent) {
public ModeSepare() {
super("Mode Séparé");
this.parent = parent;
addActionListener(e -> {
GestionMode.setModeSepare();
});
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
// TODO ajouter l'options de mode Synchronisé
RaccourcisClavier.listeMenuItems.add(this);
}
}
@@ -8,6 +8,7 @@ package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionMode;
import lecteur_pdf.IhmPdf;
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
import javax.swing.*;
@@ -21,19 +22,13 @@ import javax.swing.*;
*/
public class ModeSynchronise extends JRadioButtonMenuItem {
/**
* TODO
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ModeSynchronise(IhmPdf parent) {
public ModeSynchronise() {
super("Mode Synchronisé");
addActionListener(e -> {
GestionMode.setModeSynchronise();
});
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
// TODO ajouter l'options de mode Synchronisé
RaccourcisClavier.listeMenuItems.add(this);
}
}
@@ -39,39 +39,39 @@ public class RaccourcisClavier extends JFrame {
public static Map<String, KeyStroke> raccourcis = new HashMap<>() {};
public static String[] LISTE_NOM = {
"Ouvrir",
"Fermer",
"Quitter",
"Mode Plein Ecran",
"Page Prédédente",
"Page Suivante",
"Zoom 50%",
"Zoom 100%",
"Zoom 150%",
"Page Entière",
"Pleine Largeur",
"Nouvelle Fenêtre",
// "Mode Séparé",
// "Mode Synchronisé",
"Modifier Touches"
"Ouvrir",
"Fermer",
"Quitter",
"Mode Plein Ecran",
"Page Prédédente",
"Page Suivante",
"Zoom 50%",
"Zoom 100%",
"Zoom 150%",
"Page Entière",
"Pleine Largeur",
"Nouvelle Fenêtre",
"Mode Séparé",
"Mode Synchronisé",
"Modifier Touches"
};
public static KeyStroke[] LISTE_RACCOURCIS = {
KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK), // Ouvrir
KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK), // Fermer
KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK), // Quitter
KeyStroke.getKeyStroke(KeyEvent.VK_F11, KeyEvent.CTRL_DOWN_MASK), // Mode Plein Ecran
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_DOWN_MASK), // Page Prédédente
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_DOWN_MASK), // Page Suivante
KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 50%
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), // Zoom 100%
KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 150%
KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_DOWN_MASK), // Page Entière
KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK), // Pleine Largeur
KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK), // Nouvelle Fenêtre
// KeyStroke.getKeyStroke(KeyEvent.VK_O,KeyEvent.CTRL_DOWN_MASK), // Mode Séparé
// KeyStroke.getKeyStroke(KeyEvent.VK_O,KeyEvent.CTRL_DOWN_MASK), // Mode Synchronisé
KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK), // Modifier Touches
KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK), // Ouvrir
KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK), // Fermer
KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK), // Quitter
KeyStroke.getKeyStroke(KeyEvent.VK_F11, KeyEvent.CTRL_DOWN_MASK), // Mode Plein Ecran
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_DOWN_MASK), // Page Prédédente
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_DOWN_MASK), // Page Suivante
KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 50%
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), // Zoom 100%
KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 150%
KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_DOWN_MASK), // Page Entière
KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK), // Pleine Largeur
KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK), // Nouvelle Fenêtre
KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK), // Mode Séparé
KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK), // Mode Synchronisé
KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK), // Modifier Touches
};
public RaccourcisClavier() {
@@ -112,17 +112,12 @@ public class RaccourcisClavier extends JFrame {
fis.close();
System.out.println("Chargement des données avec succès");
} catch (IOException ioe) {
initialisationFichierRaccourcis();
ioe.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("Class not found");
c.printStackTrace();
}
/* Test : Affichage du contenu de la HashMap dans l'ordre des noms */
// for (String a : LISTE_NOM) {
// System.out.println(a + " : " + raccourcis.get(a));
// }
}
/**
@@ -147,8 +142,8 @@ public class RaccourcisClavier extends JFrame {
* Remplis la HashMap avec les raccourcis claviers par défaut
* et la sauvegarde
*/
private void initialisationFichierRaccourcis() {
for (int i = 0; i < LISTE_NOM.length && i < LISTE_RACCOURCIS.length ; i++) {
private static void initialisationFichierRaccourcis() {
for (int i = 0; i < LISTE_NOM.length && i < LISTE_RACCOURCIS.length; i++) {
raccourcis.put(LISTE_NOM[i], LISTE_RACCOURCIS[i]);
}
sauvegarderRaccourcis();