if (!text.equals("")) {
if (text.startsWith("/")) {
if (text.equals("/help") || text.equals("/h") || text.equals("/?")) {
control.add(new Message(
"Control",
"<strong>Használható utasítások:</strong><br/><ul><li><strong>/h /help /?</strong><br/>Ennek a súgónak a megjelenítése.</li><li><strong>/t [téma] [üzenet]</strong><br/>Üzenet küldése megadott témába, ill. nem létező téma megadása esetén téma létrehozása. A témanév nem tartalmazhat szóközt.</li><li><strong>/f off|[int]</strong><br/>Automatikus frissítés kikapcsolása vagy a gyakoriság megadott értékre (>1000) való beállítása (mértékegység: millisec).</li><li><strong>/u [username]</strong><br/>Bejelentkezés másik, már létező felhasználóként.</li><li><strong>/m</strong><br/>Üzenetkönyvtár helyének módosítása.</li></ul>",
""));
tabber.updateTab("Control", control);
tabber.setSelectedIndex(0);
}
if (text.startsWith("/m")) {
setMessagePath();
tabber.removeAllTabs();
messenger.loadAllUserMessages();
tabber.updateAllTabs();
control.add(new Message("Control", "Új üzenetkönyvtár beállítva: " + config.getMessagePath(), ""));
tabber.updateTab("Control", control);
}
if (text.startsWith("/u ")) {
if (text.length() > 3) {
String name = text.substring(3);
control.add(new Message("Control", "Átjelentkezés: " + messenger.getUsername() + " -> " + name, ""));
login(name);
if (messenger.getUsername().equals(name)) {
tabber.removeAllTabs();
}
tabber.updateAllTabs();
tabber.setSelectedIndex(0);
}
}
if (text.startsWith("/t ")) {
if (text.contains(" ") && text.substring(text.indexOf(" ") + 1).contains(" ")) {
String topic = text.substring(3, text.indexOf(' ', 3));
String message = text.substring(text.indexOf(' ', 3));
messenger.newMessage(topic, message);
tabber.newTab(topic);
tabber.updateTab(topic, messenger.getMessages(topic));
}
}
if (text.startsWith("/f")) {
if (text.length() > 2 && text.contains(" ")) {
String option = text.substring(text.indexOf(' ') + 1);
if (option.equals("off")) {
config.setRefreshInterval(0);
updater.cancel();
control.add(new Message("Control", "Automatikus frissítés kikapcsolva.", ""));
tabber.updateTab("Control", control);
} else {
try {
if (Integer.parseInt(option) > 1000) {
config.setRefreshInterval(Integer.parseInt(option));
startUpdater();
control.add(new Message("Control", "Frissítési gyakoriság megváltozott, új érték: " + config.getRefreshInterval() + "ms", ""));
tabber.updateTab("Control", control);
}
} catch (NumberFormatException e) {
control.add(new Message("Control", "Frissítési időköz beállítása sikertelen: számot kell megadni.", ""));
tabber.updateTab("Control", control);
}
}
} else {
(new Updater()).run();
}
}
} else {
String topic = tabber.getSelectedTopic();
if (!topic.equals("Control")) {
messenger.newMessage(topic, text);
tabber.updateTab(topic, messenger.getMessages(topic));
}
}
} else {
// blank message
}
} else {
String name = text;
if (text.equals("")) {
somethingGoneWrong("A felhasználónévnek betűket kell tartalmaznia.");
} else {
if (name.contains(" ")) {
name = name.substring(0, name.indexOf(' '));
}
if (messenger.userExists(name)) {
this.login(name);
int answer = JOptionPane.showConfirmDialog(this, "Szeretnél mindig " + name + " néven belépni a program indításakor?", "Automatikus bejelentkezés", JOptionPane.YES_NO_OPTION);
if (answer == 0) {
config.setAutoLoginUsername(name);
control.add(new Message("Control", name + ": automatikus bejelentkezés beállítva.", ""));
tabber.updateTab("Control", control);
}
} else {
int answer = JOptionPane.showConfirmDialog(this, name + ": felhasználó nem létezik. Szeretnéd létrehozni?", "Bejelentkezés", JOptionPane.YES_NO_OPTION);
if (answer == 0) {
messenger.newUser(name);
control.add(new Message("Control", name + ": felhasználói fájl létrehozva.", ""));
this.login(name);
}
}
}
}