Skip to content

Commit

Permalink
Shortcut for uac settings dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
RetGal committed Apr 28, 2022
1 parent c259343 commit 0def4b7
Show file tree
Hide file tree
Showing 9 changed files with 208 additions and 178 deletions.
32 changes: 30 additions & 2 deletions src/main/java/mpo/dayon/assisted/gui/AssistedFrame.java
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,18 @@

import mpo.dayon.common.gui.common.BaseFrame;
import mpo.dayon.common.gui.common.FrameType;
import mpo.dayon.common.gui.common.ImageNames;
import mpo.dayon.common.gui.common.ImageUtilities;
import mpo.dayon.common.gui.statusbar.StatusBar;
import mpo.dayon.common.gui.toolbar.ToolBar;
import mpo.dayon.assisted.utils.ScreenUtilities;
import mpo.dayon.common.log.Log;

import javax.swing.Action;
import javax.swing.Box;
import javax.swing.*;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;

import static mpo.dayon.common.babylon.Babylon.translate;

Expand All @@ -33,9 +38,13 @@ private ToolBar createToolBar() {
final ToolBar toolbar = new ToolBar();
toolbar.addAction(startAction);
toolbar.addAction(stopAction);
toolbar.addSeparator();
if (ScreenUtilities.getNumberOfScreens() > 1) {
toolbar.addToggleAction(toggleMultiScreenCaptureAction);
}
if (File.separatorChar != '\\') {
toolbar.addAction(createShowUacSettingsAction());
}
toolbar.addSeparator();
toolbar.addAction(createShowInfoAction());
toolbar.addAction(createShowHelpAction());
Expand All @@ -44,6 +53,25 @@ private ToolBar createToolBar() {
return toolbar;
}

private Action createShowUacSettingsAction() {
final Action showUacSettings = new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ev) {
try {
Runtime.getRuntime().exec(System.getenv("WINDIR") + "\\system32\\useraccountcontrolsettings.exe");
} catch (IOException e) {
Log.error(e.getMessage());
}
}
};

showUacSettings.putValue(Action.NAME, "showUacSettings");
showUacSettings.putValue(Action.SHORT_DESCRIPTION, translate("uacSettings"));
showUacSettings.putValue(Action.SMALL_ICON, ImageUtilities.getOrCreateIcon(ImageNames.SETTINGS));

return showUacSettings;
}

private StatusBar createStatusBar() {
final StatusBar statusBar = new StatusBar();
statusBar.addSeparator();
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/Babylon.properties
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ session.duration = Session duration
# IP address ...

ipAddress = IP address
ipAddress.msg1 = Setup our connecting IP address
ipAddress.msg1 = Set up our connecting IP address
ipAddress.msg2 = Could not determine our public IP address.
retrieveMe = Retrieve me ( public )
help = Help
Expand Down Expand Up @@ -173,4 +173,4 @@ send.windowsKey = Send Windows key

toggle.screen.mode = Toggle fit screen mode

share.all.screens = Share all screens
uacSettings = UAC settings
58 changes: 29 additions & 29 deletions src/main/resources/Babylon_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ language.suffix = de_
assistant = Assistent
assisted = Assistierter

synopsys = Fernwartung f\u00fcr Familie und Freunde
synopsys = Fernwartung f\u00FCr Familie und Freunde
support = Hilfe
feedback = Feedback

Expand Down Expand Up @@ -38,7 +38,7 @@ system.info.show = Systeminformationen anzeigen
fatal.error = Schwerwiegender Fehler
fatal.error.msg1 = Es ist ein schwerwiegender Fehler aufgetreten.
fatal.error.msg2 = Details : %s
fatal.error.msg3 = nicht verf\u00fcgbar.
fatal.error.msg3 = nicht verf\u00FCgbar.

keyboard.error = Warnung
keyboard.error.msg1 = Es ist ein Tastaturfehler aufgetreten.
Expand All @@ -53,8 +53,8 @@ comm.error.msg1 = Es ist ein Kommunikationsfelher aufgetreten [%s].
connected = Vebunden - Happy Session!
connecting = Verbinde mit %s : %s ...
starting = Starte [ Port: %s ] ...
serverNotFound = %s ist nicht verf\u00fcgbar
connectionTimeout = Zeit\u00fcberschreitung beim Verbinden mit %s : %s
serverNotFound = %s ist nicht verf\u00FCgbar
connectionTimeout = Zeit\u00FCberschreitung beim Verbinden mit %s : %s
refused = Verbindung abgelehnt von %s : %s
accepting = Akzeptiere eingehende Verbindungen [ Port: %s ] ...
listening = Warte auf eingehende Verbindungen [ Port: %s ]
Expand All @@ -73,13 +73,13 @@ connection.settings = Verbindungseinstellungen
connection.settings.assistantIpAddress = IP-Adresse des Assistenten
connection.settings.assistantPortNumber = Port Nummer des Assistenten
connection.settings.emptyIpAddress = Die IP-Adresse des Assistenten darf nicht leer sein.
connection.settings.invalidIpAddress = Die IP-Adresse des Assistenten ist ung\u00fcltig.
connection.settings.invalidIpAddress = Die IP-Adresse des Assistenten ist ung\u00FCltig.
connection.settings.emptyPortNumber = Die Portnummer des Assistenten darf nicht leer sein.
connection.settings.invalidPortNumber = Die Portnummer des Assistenten ung\u00fcltig (min. 1, max. 65535).
connection.settings.invalidPortNumber = Die Portnummer des Assistenten ung\u00FCltig (min. 1, max. 65535).
connection.settings.portNumber = Portnummer
connection.settings.portNumber.tooltip = Portnummer f\u00fcr die eingehende Verbindungen
connection.settings.portNumber.tooltip = Portnummer f\u00FCr die eingehende Verbindungen
connection.settings.token = Token
connection.settings.invalidToken = Das Token ist ung\u00fcltig.
connection.settings.invalidToken = Das Token ist ung\u00FCltig.

# Token
token = Token
Expand All @@ -95,23 +95,23 @@ settings = Einstellungen

networkBandwidth = Netzwerk-Bandbreitennutzung
receivedTileNumber = Anzahl Kacheln (Puffer-Treffer in Prozent) erhalten
skippedCaptureNumber = Anzahl \u00fcbersprungener Bildschirmaufnahmen
skippedCaptureNumber = Anzahl \u00FCbersprungener Bildschirmaufnahmen
mergedCaptureNumber = Anzahl kombinierter Bildschirmaufnahmen
captureCompression = Kompressionsverh\u00e4ltnis (je h\u00f6her desto besser)
captureCompression = Kompressionsverh\u00E4ltnis (je h\u00F6her desto besser)

# Info ...

memory.info = Arbeitsspeicher verwendet/verf\u00fcgbar
memory.info = Arbeitsspeicher verwendet/verf\u00FCgbar
session.duration = Sitzungsdauer

# IP-Adresse ...

ipAddress = IP-Adresse
ipAddress.msg1 = Eigene IP-Adresse einrichten
ipAddress.msg2 = Konnte die \u00f6ffentliche IP-Adresse nicht ermitteln.
retrieveMe = Ermittle meine IP-Adresse ( \u00f6ffentlich )
ipAddress.msg2 = Konnte die \u00F6ffentliche IP-Adresse nicht ermitteln.
retrieveMe = Ermittle meine IP-Adresse ( \u00F6ffentlich )
help = Hilfe
ipAddressPublic = %s ( \u00f6ffentlich )
ipAddressPublic = %s ( \u00F6ffentlich )
copy.msg = Kopiere IP-Adresse & Portnummer

# Help ...
Expand All @@ -123,11 +123,11 @@ support.html = de_support.html

capture = Bildschirmerfassung
capture.settings = Bildschirmerfassungs-Einstellungen
capture.reset = Bildschirmerfassung zur\u00fcck setzen (Puffer, etc...)
capture.reset = Bildschirmerfassung zur\u00FCck setzen (Puffer, etc...)
tick = Tick
tick.tooltip = Bildschirmerfassungs-Intervall [ tick ] Millisekunden
tick.msg1 = Tick darf nicht leer sein.
tick.msg2 = Tick ist keine g\u00fcltige Zahl. (min. 50)
tick.msg2 = Tick ist keine g\u00FCltige Zahl. (min. 50)
grays = Graustufen

# Compression ...
Expand All @@ -136,17 +136,17 @@ compression = Kompression
compression.settings = Kompressions-Einstellungen
compression.method = Kompressions-Methode
compression.cache.usage = Verwende Puffer
compression.cache.max = Maximale Gr\u00f6sse (K)
compression.cache.max = Maximale Gr\u00F6sse (K)
compression.cache.max.tooltip = Maximale Anzahl gepufferte Kacheln (eine Kachel ist etwa 1K)
compression.cache.max.msg1 = Die maximale Gr\u00f6sse darf nicht leer sein.
compression.cache.max.msg2 = Die maximale Gr\u00f6sse ist keine g\u00fcltige Zahl.
compression.cache.max.msg3 = Die maximale Gr\u00f6sse muss eine positive Zahl sein.
compression.cache.purge = Gr\u00f6sse nach Bereinigung (K)
compression.cache.purge.tooltip = Puffergr\u00f6sse nach Bereinigung (eine Bereinigung wird ausgef\u00fchrt, sobald die maximale Gr\u00f6sse erreicht ist).
compression.cache.purge.msg1 = Puffergr\u00f6sse nach Bereinigung darf icht leer sein.
compression.cache.purge.msg2 = Puffergr\u00f6sse nach Bereinigung ist keine g\u00fcltige Zahl.
compression.cache.purge.msg3 = Puffergr\u00f6sse nach Bereinigung muss eine positive Zahl sein.
compression.cache.purge.msg4 = Puffergr\u00f6sse nach Bereinigung muss kleiner als die maximale Gr\u00f6sse sein.
compression.cache.max.msg1 = Die maximale Gr\u00F6sse darf nicht leer sein.
compression.cache.max.msg2 = Die maximale Gr\u00F6sse ist keine g\u00FCltige Zahl.
compression.cache.max.msg3 = Die maximale Gr\u00F6sse muss eine positive Zahl sein.
compression.cache.purge = Gr\u00F6sse nach Bereinigung (K)
compression.cache.purge.tooltip = Puffergr\u00F6sse nach Bereinigung (eine Bereinigung wird ausgef\u00FChrt, sobald die maximale Gr\u00F6sse erreicht ist).
compression.cache.purge.msg1 = Puffergr\u00F6sse nach Bereinigung darf icht leer sein.
compression.cache.purge.msg2 = Puffergr\u00F6sse nach Bereinigung ist keine g\u00FCltige Zahl.
compression.cache.purge.msg3 = Puffergr\u00F6sse nach Bereinigung muss eine positive Zahl sein.
compression.cache.purge.msg4 = Puffergr\u00F6sse nach Bereinigung muss kleiner als die maximale Gr\u00F6sse sein.

# Look & Feel

Expand All @@ -166,11 +166,11 @@ version.installed = Installierte Version
version.latest = Aktuellste Version
version.wrong = Unterschiedliche Programmversionen

clipboard.getRemote = Zwischenablage des Assistierten \u00fcbertragen
clipboard.setRemote = Zwischenablage an Assistierten \u00fcbertragen
clipboard.getRemote = Zwischenablage des Assistierten \u00FCbertragen
clipboard.setRemote = Zwischenablage an Assistierten \u00FCbertragen

send.windowsKey = Windowstaste senden

toggle.screen.mode = Anzeigemodus umschalten

share.all.screens = Alle Bildschirme teilen
uacSettings = UAC-Einstellungen
Loading

0 comments on commit 0def4b7

Please sign in to comment.