Merge pull request #775 from igniterealtime/meet

Add i18n and improve Preference panel for Pade Meeting
Thanks for doing this 👍
This commit is contained in:
Dele Olajide 2022-12-21 18:27:07 +00:00 committed by GitHub
commit 63ac3784e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 59 additions and 15 deletions

View File

@ -41,7 +41,7 @@ public class ChatRoomDecorator
byte[] imageByte = DatatypeConverter.parseBase64Binary(ICON_STRING);
ImageIcon ofmeetIcon = new ImageIcon(imageByte);
ofmeetButton = new RolloverButton(SparkRes.getImageIcon("PADE_ICON"));
ofmeetButton.setToolTipText(GraphicUtils.createToolTip("Pade Meetings"));
ofmeetButton.setToolTipText(GraphicUtils.createToolTip(SparkMeetResource.getString("name")));
final String roomId = getNode(room.getBareJid().toString());
final String sessionID = roomId + "-" + System.currentTimeMillis();

View File

@ -40,7 +40,7 @@ import org.jxmpp.jid.parts.*;
public class SparkMeetPlugin implements Plugin, ChatRoomListener, GlobalMessageListener
{
public Properties props = props = new Properties();
public Properties props = new Properties();
public String url = null;
private org.jivesoftware.spark.ChatManager chatManager;

View File

@ -15,20 +15,20 @@
*/
package org.jivesoftware.spark.plugin.ofmeet;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;
import javax.xml.bind.DatatypeConverter;
import org.jivesoftware.spark.component.VerticalFlowLayout;
import org.jivesoftware.spark.preference.Preference;
import org.jivesoftware.spark.util.log.Log;
import org.jivesoftware.spark.util.ResourceUtils;
public class SparkMeetPreference implements Preference {
public static final String NAMESPACE = "ofmeet";
private SparkMeetPlugin plugin;
private final UrlPanel panel = new UrlPanel();
private final PadePanel panel = new PadePanel();
public SparkMeetPreference(SparkMeetPlugin plugin) {
this.plugin = plugin;
@ -63,7 +63,7 @@ public class SparkMeetPreference implements Preference {
@Override
public String getListName() {
return "Pade Meetings";
return SparkMeetResource.getString("name");
}
@Override
@ -73,12 +73,12 @@ public class SparkMeetPreference implements Preference {
@Override
public String getTitle() {
return "Pade Meetings Settings";
return SparkMeetResource.getString("name");
}
@Override
public String getTooltip() {
return "Set URL for Pade Meetingst";
return SparkMeetResource.getString("name");
}
@Override
@ -88,7 +88,6 @@ public class SparkMeetPreference implements Preference {
@Override
public void load() {
}
@Override
@ -96,15 +95,18 @@ public class SparkMeetPreference implements Preference {
}
private static class UrlPanel extends JPanel {
private static class PadePanel extends JPanel {
private static final long serialVersionUID = -5992704440953686499L;
private final JTextArea txtMessage = new JTextArea(2, 0);
private final JTextArea txtMessage = new JTextArea();
private JLabel url = new JLabel(SparkMeetResource.getString("preference.url"));
UrlPanel() {
PadePanel() {
txtMessage.setBorder(UIManager.getLookAndFeelDefaults().getBorder("TextField.border"));
setLayout(new BorderLayout());
setBorder(BorderFactory.createCompoundBorder(new TitledBorder("Jitsi Meet URL"), new EmptyBorder(2,4,4,4)));
add(txtMessage, BorderLayout.CENTER);
txtMessage.setLineWrap(true);
setLayout(new VerticalFlowLayout());
setBorder(BorderFactory.createTitledBorder(SparkMeetResource.getString("preference.title")));
add(url, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
add(txtMessage, new GridBagConstraints(0, 1, 2, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
}
public void setUrl(String message) {

View File

@ -0,0 +1,36 @@
package org.jivesoftware.spark.plugin.ofmeet;
import org.jivesoftware.resource.UTF8Control;
import org.jivesoftware.spark.util.log.Log;
import java.text.MessageFormat;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
public class SparkMeetResource {
private static PropertyResourceBundle prb;
static ClassLoader cl = SparkMeetResource.class.getClassLoader();
static {
prb = (PropertyResourceBundle) ResourceBundle.getBundle("i18n/sparkmeet_i18n", new UTF8Control());
}
public static String getString(String propertyName) {
try {
return prb.getString(propertyName);
}
catch (Exception e) {
Log.error(e);
return propertyName;
}
}
public static String getString(String propertyName, Object... obj) {
String str = prb.getString(propertyName);
if (str == null) {
return null;
}
return MessageFormat.format(str, obj);
}
}

View File

@ -0,0 +1,6 @@
name= Pade Meetings
preference.sparkmeetEnabled = Enable Pade meeting
preference.url = Jitsi Meet URL
preference.title = Pade Meetings Settings