Skip to content

Commit

Permalink
multi-color join/part/quits
Browse files Browse the repository at this point in the history
  • Loading branch information
c99koder committed Nov 9, 2016
1 parent 93440c7 commit 7ddb5cf
Show file tree
Hide file tree
Showing 11 changed files with 131 additions and 58 deletions.
3 changes: 2 additions & 1 deletion generate-theme.py
Expand Up @@ -49,7 +49,8 @@ def theme(f, t, parent):
f.write(style("timestampBackgroundColor", "background6"))
f.write(style("statusBackgroundColor", "background6a"))
f.write(style("noticeBackgroundColor", "background5a"))
f.write(style("collapsedRowTextColor", "text7"))
f.write(style("collapsedRowTextColor", "text12"))
f.write(style("collapsedRowNickColor", "text7"))
f.write(style("collapsedHeadingBackgroundColor", "background6"))
f.write(style("navBarColor", "background5"))
f.write(style("navBarBorderColor", "border10"))
Expand Down
78 changes: 56 additions & 22 deletions src/com/irccloud/android/CollapsedEventsList.java
Expand Up @@ -59,6 +59,8 @@ public class CollapsedEventsList {

public boolean showChan = false;

private String collapsedNickColor = null;

public class CollapsedEvent {
long eid;
int type;
Expand Down Expand Up @@ -199,7 +201,10 @@ public String getModes(boolean showSymbol) {
output += ", ";
output += mode_msgs[i];
if (showSymbol) {
output += " (\u0004" + mode_colors.get(mode_modes[i].substring(1).toLowerCase()) + ((i == MODE_OPER && operIsLower)?mode_modes[i].toLowerCase():mode_modes[i]) + "\u000f)";
output += " (\u0004" + mode_colors.get(mode_modes[i].substring(1).toLowerCase()) + ((i == MODE_OPER && operIsLower)?mode_modes[i].toLowerCase():mode_modes[i]) + "\u000f";
if(ColorScheme.getInstance().theme != null)
output += "\u0004" + Integer.toHexString(ColorScheme.getInstance().messageTextColor).substring(2);
output += ")";
}
}
}
Expand Down Expand Up @@ -621,13 +626,28 @@ private String was(CollapsedEvent e) {
was.append(modes);
}

if (was.length() > 0)
if (was.length() > 0) {
if(collapsedNickColor != null) {
was.insert(0, "\u0004" + collapsedNickColor);
was.append("\u000F");
}
was.insert(0, " (").append(")");

}
return was.toString();
}

private void colorArrow(StringBuilder message, String arrow) {
if(collapsedNickColor != null)
message.append("\u0004").append(collapsedNickColor);
message.append(arrow);
if(collapsedNickColor != null)
message.append("\u000F");
}

public String getCollapsedMessage() {
if(ColorScheme.getInstance().theme != null) {
collapsedNickColor = Integer.toHexString(ColorScheme.getInstance().collapsedRowNickColor).substring(2);
}
StringBuilder message = new StringBuilder();

if (data.size() == 0)
Expand All @@ -640,23 +660,30 @@ public String getCollapsedMessage() {
message.append(e.msg.replace(" ", " ↮ "));
break;
case TYPE_MODE:
message.append("<b>").append(formatNick(e.nick, e.target_mode, false)).append("</b> was ").append(e.getModes(true));
message.append(formatNick(e.nick, e.target_mode, false, collapsedNickColor));
if(collapsedNickColor != null)
message.append("\u0004").append(Integer.toHexString(ColorScheme.getInstance().messageTextColor).substring(2));
message.append(" was ").append(e.getModes(true));
if (e.from_nick != null) {
if (e.from_mode != null && e.from_mode.equalsIgnoreCase("__the_server__"))
message.append(" by the server <b>").append(e.from_nick).append("</b>");
else
message.append(" by ").append(formatNick(e.from_nick, e.from_mode, false));
if (e.from_mode != null && e.from_mode.equalsIgnoreCase("__the_server__")) {
message.append(" by the server ");
colorArrow(message, e.from_nick);
} else {
message.append(" by ").append(formatNick(e.from_nick, e.from_mode, false, collapsedNickColor));
}
}
break;
case TYPE_JOIN:
message.append("→ <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>").append(was(e));
colorArrow(message, "→ ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor)).append(was(e));
message.append(" joined");
if (showChan)
message.append(" ").append(e.chan);
message.append(" (").append(e.hostmask).append(")");
break;
case TYPE_PART:
message.append("← <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>").append(was(e));
colorArrow(message, "← ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor)).append(was(e));
message.append(" left");
if (showChan)
message.append(" ").append(e.chan);
Expand All @@ -665,7 +692,8 @@ public String getCollapsedMessage() {
message.append(": ").append(e.msg);
break;
case TYPE_QUIT:
message.append("⇐ <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>").append(was(e));
colorArrow(message, "⇐ ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor)).append(was(e));
if (e.hostmask != null)
message.append(" quit (").append(e.hostmask).append(") ");
else
Expand All @@ -674,16 +702,20 @@ public String getCollapsedMessage() {
message.append(e.msg);
break;
case TYPE_NICKCHANGE:
message.append(e.old_nick).append(" → <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>");
message.append(e.old_nick);
colorArrow(message, " → ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor));
break;
case TYPE_POPIN:
message.append("↔ <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>").append(was(e));
colorArrow(message, "↔ ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor)).append(was(e));
message.append(" popped in");
if (showChan)
message.append(" ").append(e.chan);
break;
case TYPE_POPOUT:
message.append("↔ <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>").append(was(e));
colorArrow(message, "↔ ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor)).append(was(e));
message.append(" nipped out");
if (showChan)
message.append(" ").append(e.chan);
Expand Down Expand Up @@ -727,32 +759,34 @@ public String getCollapsedMessage() {
case TYPE_MODE:
if (message.length() > 0)
message.append("• ");
message.append("mode: ");
colorArrow(message, "mode: ");
break;
case TYPE_JOIN:
message.append("→ ");
colorArrow(message, "→ ");
break;
case TYPE_PART:
message.append("← ");
colorArrow(message, "← ");
break;
case TYPE_QUIT:
message.append("⇐ ");
colorArrow(message, "⇐ ");
break;
case TYPE_NICKCHANGE:
if (message.length() > 0)
message.append("• ");
break;
case TYPE_POPIN:
case TYPE_POPOUT:
message.append("↔ ");
colorArrow(message, "↔ ");
break;
case TYPE_CONNECTIONSTATUS:
break;
}
}

if (e.type == TYPE_NICKCHANGE) {
message.append(e.old_nick).append(" → <b>").append(formatNick(e.nick, e.from_mode, false)).append("</b>");
message.append(e.old_nick);
colorArrow(message, " → ");
message.append(formatNick(e.nick, e.from_mode, false, collapsedNickColor));
message.append(was(e));
} else if (e.type == TYPE_NETSPLIT) {
message.append(e.msg.replace(" ", " ↮ "));
Expand All @@ -761,7 +795,7 @@ public String getCollapsedMessage() {
if (e.count > 1)
message.append(" (").append(e.count).append("x)");
} else if (!showChan) {
message.append("<b>").append(formatNick(e.nick, (e.type == TYPE_MODE) ? e.target_mode : e.from_mode, false)).append("</b>").append(was(e));
message.append(formatNick(e.nick, (e.type == TYPE_MODE) ? e.target_mode : e.from_mode, false, collapsedNickColor)).append(was(e));
}

if ((next == null || next.type != e.type) && !showChan) {
Expand All @@ -784,7 +818,7 @@ public String getCollapsedMessage() {
}
} else if (showChan && e.type != TYPE_NETSPLIT && e.type != TYPE_CONNECTIONSTATUS && e.type != TYPE_NICKCHANGE) {
if (groupcount == 0) {
message.append("<b>").append(formatNick(e.nick, (e.type == TYPE_MODE) ? e.target_mode : e.from_mode, false)).append("</b>").append(was(e));
message.append(formatNick(e.nick, (e.type == TYPE_MODE) ? e.target_mode : e.from_mode, false, collapsedNickColor)).append(was(e));
switch (e.type) {
case TYPE_JOIN:
message.append(" joined ");
Expand Down
2 changes: 2 additions & 0 deletions src/com/irccloud/android/ColorScheme.java
Expand Up @@ -243,6 +243,7 @@ public void setThemeFromContext(Context ctx, String theme_name) {
timestampBackgroundColor = colorForAttribute(ctx, R.attr.timestampBackgroundColor);
newMsgsBackgroundColor = colorForAttribute(ctx, R.attr.newMsgsBackgroundColor);
collapsedRowTextColor = colorForAttribute(ctx, R.attr.collapsedRowTextColor);
collapsedRowNickColor = colorForAttribute(ctx, R.attr.collapsedRowNickColor);
collapsedHeadingBackgroundColor = colorForAttribute(ctx, R.attr.collapsedHeadingBackgroundColor);
navBarColor = colorForAttribute(ctx, R.attr.navBarColor);
navBarHeadingColor = colorForAttribute(ctx, R.attr.navBarHeadingColor);
Expand Down Expand Up @@ -357,6 +358,7 @@ private int resourceForAttribute(Context ctx, int attribute) {
public int timestampBackgroundColor;
public int newMsgsBackgroundColor;
public int collapsedRowTextColor;
public int collapsedRowNickColor;
public int collapsedHeadingBackgroundColor;
public int navBarColor;
public int navBarHeadingColor;
Expand Down
1 change: 1 addition & 0 deletions themes/values/attrs.xml
Expand Up @@ -55,6 +55,7 @@
<attr name="timestampBackgroundColor" format="color"/>
<attr name="newMsgsBackgroundColor" format="color"/>
<attr name="collapsedRowTextColor" format="color"/>
<attr name="collapsedRowNickColor" format="color"/>
<attr name="collapsedHeadingBackgroundColor" format="color"/>
<attr name="navBarColor" format="color"/>
<attr name="navBarHeadingColor" format="color"/>
Expand Down
15 changes: 10 additions & 5 deletions themes/values/theme_ash.xml
Expand Up @@ -34,7 +34,8 @@
<item name="timestampBackgroundColor">@color/ash_background6</item>
<item name="statusBackgroundColor">@color/ash_background6a</item>
<item name="noticeBackgroundColor">@color/ash_background5a</item>
<item name="collapsedRowTextColor">@color/ash_text7</item>
<item name="collapsedRowTextColor">@color/ash_text12</item>
<item name="collapsedRowNickColor">@color/ash_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/ash_background6</item>
<item name="navBarColor">@color/ash_background5</item>
<item name="navBarBorderColor">@color/ash_border10</item>
Expand Down Expand Up @@ -121,7 +122,8 @@
<item name="timestampBackgroundColor">@color/ash_background6</item>
<item name="statusBackgroundColor">@color/ash_background6a</item>
<item name="noticeBackgroundColor">@color/ash_background5a</item>
<item name="collapsedRowTextColor">@color/ash_text7</item>
<item name="collapsedRowTextColor">@color/ash_text12</item>
<item name="collapsedRowNickColor">@color/ash_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/ash_background6</item>
<item name="navBarColor">@color/ash_background5</item>
<item name="navBarBorderColor">@color/ash_border10</item>
Expand Down Expand Up @@ -208,7 +210,8 @@
<item name="timestampBackgroundColor">@color/ash_background6</item>
<item name="statusBackgroundColor">@color/ash_background6a</item>
<item name="noticeBackgroundColor">@color/ash_background5a</item>
<item name="collapsedRowTextColor">@color/ash_text7</item>
<item name="collapsedRowTextColor">@color/ash_text12</item>
<item name="collapsedRowNickColor">@color/ash_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/ash_background6</item>
<item name="navBarColor">@color/ash_background5</item>
<item name="navBarBorderColor">@color/ash_border10</item>
Expand Down Expand Up @@ -295,7 +298,8 @@
<item name="timestampBackgroundColor">@color/ash_background6</item>
<item name="statusBackgroundColor">@color/ash_background6a</item>
<item name="noticeBackgroundColor">@color/ash_background5a</item>
<item name="collapsedRowTextColor">@color/ash_text7</item>
<item name="collapsedRowTextColor">@color/ash_text12</item>
<item name="collapsedRowNickColor">@color/ash_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/ash_background6</item>
<item name="navBarColor">@color/ash_background5</item>
<item name="navBarBorderColor">@color/ash_border10</item>
Expand Down Expand Up @@ -382,7 +386,8 @@
<item name="timestampBackgroundColor">@color/ash_background6</item>
<item name="statusBackgroundColor">@color/ash_background6a</item>
<item name="noticeBackgroundColor">@color/ash_background5a</item>
<item name="collapsedRowTextColor">@color/ash_text7</item>
<item name="collapsedRowTextColor">@color/ash_text12</item>
<item name="collapsedRowNickColor">@color/ash_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/ash_background6</item>
<item name="navBarColor">@color/ash_background5</item>
<item name="navBarBorderColor">@color/ash_border10</item>
Expand Down
15 changes: 10 additions & 5 deletions themes/values/theme_dusk.xml
Expand Up @@ -34,7 +34,8 @@
<item name="timestampBackgroundColor">@color/dusk_background6</item>
<item name="statusBackgroundColor">@color/dusk_background6a</item>
<item name="noticeBackgroundColor">@color/dusk_background5a</item>
<item name="collapsedRowTextColor">@color/dusk_text7</item>
<item name="collapsedRowTextColor">@color/dusk_text12</item>
<item name="collapsedRowNickColor">@color/dusk_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/dusk_background6</item>
<item name="navBarColor">@color/dusk_background5</item>
<item name="navBarBorderColor">@color/dusk_border10</item>
Expand Down Expand Up @@ -121,7 +122,8 @@
<item name="timestampBackgroundColor">@color/dusk_background6</item>
<item name="statusBackgroundColor">@color/dusk_background6a</item>
<item name="noticeBackgroundColor">@color/dusk_background5a</item>
<item name="collapsedRowTextColor">@color/dusk_text7</item>
<item name="collapsedRowTextColor">@color/dusk_text12</item>
<item name="collapsedRowNickColor">@color/dusk_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/dusk_background6</item>
<item name="navBarColor">@color/dusk_background5</item>
<item name="navBarBorderColor">@color/dusk_border10</item>
Expand Down Expand Up @@ -208,7 +210,8 @@
<item name="timestampBackgroundColor">@color/dusk_background6</item>
<item name="statusBackgroundColor">@color/dusk_background6a</item>
<item name="noticeBackgroundColor">@color/dusk_background5a</item>
<item name="collapsedRowTextColor">@color/dusk_text7</item>
<item name="collapsedRowTextColor">@color/dusk_text12</item>
<item name="collapsedRowNickColor">@color/dusk_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/dusk_background6</item>
<item name="navBarColor">@color/dusk_background5</item>
<item name="navBarBorderColor">@color/dusk_border10</item>
Expand Down Expand Up @@ -295,7 +298,8 @@
<item name="timestampBackgroundColor">@color/dusk_background6</item>
<item name="statusBackgroundColor">@color/dusk_background6a</item>
<item name="noticeBackgroundColor">@color/dusk_background5a</item>
<item name="collapsedRowTextColor">@color/dusk_text7</item>
<item name="collapsedRowTextColor">@color/dusk_text12</item>
<item name="collapsedRowNickColor">@color/dusk_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/dusk_background6</item>
<item name="navBarColor">@color/dusk_background5</item>
<item name="navBarBorderColor">@color/dusk_border10</item>
Expand Down Expand Up @@ -382,7 +386,8 @@
<item name="timestampBackgroundColor">@color/dusk_background6</item>
<item name="statusBackgroundColor">@color/dusk_background6a</item>
<item name="noticeBackgroundColor">@color/dusk_background5a</item>
<item name="collapsedRowTextColor">@color/dusk_text7</item>
<item name="collapsedRowTextColor">@color/dusk_text12</item>
<item name="collapsedRowNickColor">@color/dusk_text7</item>
<item name="collapsedHeadingBackgroundColor">@color/dusk_background6</item>
<item name="navBarColor">@color/dusk_background5</item>
<item name="navBarBorderColor">@color/dusk_border10</item>
Expand Down

0 comments on commit 7ddb5cf

Please sign in to comment.