Small fixes

This commit is contained in:
fiaxh 2018-01-30 17:29:54 +01:00
parent 8c46c423c0
commit ef40b61734
8 changed files with 10 additions and 15 deletions

View file

@ -126,7 +126,7 @@ public class ChatInteraction : StreamInteractionModule, Object {
private class ReceivedMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public string[] after_actions_const = new string[]{ };
public override string action_group { get { return "OTHER_NODES"; } }
public override string[] after_actions { get { return after_actions_const; } }

View file

@ -152,7 +152,7 @@ public class MessageProcessor : StreamInteractionModule, Object {
private class DeduplicateMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public string[] after_actions_const = new string[]{ "MUC" };
public override string action_group { get { return "DEDUPLICATE"; } }
public override string[] after_actions { get { return after_actions_const; } }

View file

@ -327,8 +327,8 @@ public class MucManager : StreamInteractionModule, Object {
private class ReceivedMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public override string action_group { get { return "OTHER_NODES"; } }
public string[] after_actions_const = new string[]{ };
public override string action_group { get { return "MUC"; } }
public override string[] after_actions { get { return after_actions_const; } }
private StreamInteractor stream_interactor;

View file

@ -74,7 +74,7 @@ public class MessageTextView : TextView {
TextIter iter;
get_iter_at_location(out iter, x, y);
TextIter start_iter = iter, end_iter = iter;
if (start_iter.backward_to_tag_toggle(null) && end_iter.forward_to_tag_toggle(null)) {
if (start_iter.backward_to_tag_toggle(link_tag) && end_iter.forward_to_tag_toggle(link_tag)) {
return start_iter.get_text(end_iter);
}

View file

@ -11,14 +11,12 @@ public class FileProvider : Dino.FileProvider, Object {
private StreamInteractor stream_interactor;
private Regex url_regex;
private Regex file_ext_regex;
private Gee.List<string> ignore_once = new ArrayList<string>();
public FileProvider(StreamInteractor stream_interactor, Dino.Database dino_db) {
this.stream_interactor = stream_interactor;
this.url_regex = new Regex("""^(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»]))$""");
this.file_ext_regex = new Regex("""\.(png|jpg|jpeg|svg|gif|pgp)$""");
stream_interactor.get_module(MessageProcessor.IDENTITY).received_pipeline.connect(new ReceivedMessageListener(this));
stream_interactor.get_module(Manager.IDENTITY).uploaded.connect((file_transfer, url) => {
@ -28,7 +26,7 @@ public class FileProvider : Dino.FileProvider, Object {
private class ReceivedMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public string[] after_actions_const = new string[]{ };
public override string action_group { get { return "DECRYPT"; } }
public override string[] after_actions { get { return after_actions_const; } }
@ -47,7 +45,7 @@ public class FileProvider : Dino.FileProvider, Object {
if (message.direction == Message.DIRECTION_RECEIVED && !in_roster) return false;
string? oob_url = Xmpp.Xep.OutOfBandData.get_url_from_message(message.stanza);
if ((oob_url != null && oob_url == message.body) || outer.file_ext_regex.match(message.body)) {
if (oob_url != null && oob_url == message.body) {
yield outer.download_url(message, conversation);
}
return false;

View file

@ -72,7 +72,7 @@ public class Manager : StreamInteractionModule, Object {
private class ReceivedMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public string[] after_actions_const = new string[]{ };
public override string action_group { get { return "DECRYPT"; } }
public override string[] after_actions { get { return after_actions_const; } }

View file

@ -102,7 +102,7 @@ public class Manager : StreamInteractionModule, Object {
private class ReceivedMessageListener : MessageListener {
public string[] after_actions_const = new string[]{ "" };
public string[] after_actions_const = new string[]{ };
public override string action_group { get { return "DECRYPT"; } }
public override string[] after_actions { get { return after_actions_const; } }

View file

@ -63,16 +63,13 @@ public abstract class ListenerHolder : Object {
bool changed = false;
Gee.Iterator<OrderedListener> iter = remaining.iterator();
while (iter.has_next()) {
if (!iter.valid) {
iter.next();
}
iter.next();
OrderedListener l = iter.get();
if (!set_contains_action(remaining, l.after_actions)) {
new_list.add(l);
iter.remove();
changed = true;
}
iter.next();
}
if (!changed) error("Can't sort listeners");
}