2020-05-29 14:19:35 +02:00
|
|
|
public enum Tootle.API.Visibility {
|
2018-04-15 13:29:55 +02:00
|
|
|
PUBLIC,
|
|
|
|
UNLISTED,
|
|
|
|
PRIVATE,
|
|
|
|
DIRECT;
|
|
|
|
|
2018-10-23 12:05:24 +02:00
|
|
|
public string to_string () {
|
2018-04-15 13:29:55 +02:00
|
|
|
switch (this) {
|
|
|
|
case UNLISTED:
|
|
|
|
return "unlisted";
|
|
|
|
case PRIVATE:
|
|
|
|
return "private";
|
|
|
|
case DIRECT:
|
|
|
|
return "direct";
|
|
|
|
default:
|
2020-05-29 14:19:35 +02:00
|
|
|
return "public";
|
2018-04-15 13:29:55 +02:00
|
|
|
}
|
|
|
|
}
|
2019-03-09 14:06:40 +01:00
|
|
|
|
2020-05-29 14:19:35 +02:00
|
|
|
public static Visibility from_string (string str) {
|
2018-05-11 13:28:49 +02:00
|
|
|
switch (str) {
|
|
|
|
case "unlisted":
|
2020-05-29 14:19:35 +02:00
|
|
|
return Visibility.UNLISTED;
|
2018-05-11 13:28:49 +02:00
|
|
|
case "private":
|
2020-05-29 14:19:35 +02:00
|
|
|
return Visibility.PRIVATE;
|
2018-05-11 13:28:49 +02:00
|
|
|
case "direct":
|
2020-05-29 14:19:35 +02:00
|
|
|
return Visibility.DIRECT;
|
|
|
|
default:
|
|
|
|
return Visibility.PUBLIC;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string get_name () {
|
|
|
|
switch (this) {
|
|
|
|
case UNLISTED:
|
|
|
|
return _("Unlisted");
|
|
|
|
case PRIVATE:
|
|
|
|
return _("Followers-only");
|
|
|
|
case DIRECT:
|
|
|
|
return _("Direct");
|
2018-05-11 13:28:49 +02:00
|
|
|
default:
|
2020-05-29 14:19:35 +02:00
|
|
|
return _("Public");
|
2018-05-11 13:28:49 +02:00
|
|
|
}
|
|
|
|
}
|
2019-03-09 14:06:40 +01:00
|
|
|
|
2018-10-23 12:05:24 +02:00
|
|
|
public string get_desc () {
|
2018-04-15 13:29:55 +02:00
|
|
|
switch (this) {
|
|
|
|
case UNLISTED:
|
|
|
|
return _("Don\'t post to public timelines");
|
|
|
|
case PRIVATE:
|
|
|
|
return _("Post to followers only");
|
|
|
|
case DIRECT:
|
|
|
|
return _("Post to mentioned users only");
|
|
|
|
default:
|
2020-05-29 14:19:35 +02:00
|
|
|
return _("Post to public timelines");
|
2018-04-15 13:29:55 +02:00
|
|
|
}
|
|
|
|
}
|
2019-03-09 14:06:40 +01:00
|
|
|
|
2018-10-23 12:05:24 +02:00
|
|
|
public string get_icon () {
|
2018-04-15 13:29:55 +02:00
|
|
|
switch (this) {
|
|
|
|
case UNLISTED:
|
2020-05-29 14:19:35 +02:00
|
|
|
return "changes-allow-symbolic";
|
2018-04-15 13:29:55 +02:00
|
|
|
case PRIVATE:
|
2020-05-29 14:19:35 +02:00
|
|
|
return "changes-prevent-symbolic";
|
2018-04-15 13:29:55 +02:00
|
|
|
case DIRECT:
|
2019-03-09 14:06:40 +01:00
|
|
|
return "user-available-symbolic";
|
2018-04-15 13:29:55 +02:00
|
|
|
default:
|
2020-05-29 14:19:35 +02:00
|
|
|
return "network-workgroup-symbolic";
|
2018-04-15 13:29:55 +02:00
|
|
|
}
|
|
|
|
}
|
2019-03-09 14:06:40 +01:00
|
|
|
|
2020-05-29 14:19:35 +02:00
|
|
|
public static Visibility[] all () {
|
|
|
|
return {Visibility.PUBLIC, Visibility.UNLISTED, Visibility.PRIVATE, Visibility.DIRECT};
|
2018-10-23 12:05:24 +02:00
|
|
|
}
|
2019-03-09 14:06:40 +01:00
|
|
|
|
2018-04-15 13:29:55 +02:00
|
|
|
}
|