aboutsummaryrefslogtreecommitdiff
path: root/libdino/src
diff options
context:
space:
mode:
Diffstat (limited to 'libdino/src')
-rw-r--r--libdino/src/entity/conversation.vala4
-rw-r--r--libdino/src/entity/settings.vala10
2 files changed, 14 insertions, 0 deletions
diff --git a/libdino/src/entity/conversation.vala b/libdino/src/entity/conversation.vala
index 9026e33f..0dfa64f2 100644
--- a/libdino/src/entity/conversation.vala
+++ b/libdino/src/entity/conversation.vala
@@ -101,6 +101,10 @@ public class Conversation : Object {
return notify_setting != NotifySetting.DEFAULT ? notify_setting : get_notification_default_setting(stream_interactor);
}
+ public bool get_sound_setting(StreamInteractor stream_interactor) {
+ return Application.get_default().settings.sound;
+ }
+
public NotifySetting get_notification_default_setting(StreamInteractor stream_interactor) {
Xmpp.XmppStream? stream = stream_interactor.get_stream(account);
if (!Application.get_default().settings.notifications) return NotifySetting.OFF;
diff --git a/libdino/src/entity/settings.vala b/libdino/src/entity/settings.vala
index f94a92ca..32d38c90 100644
--- a/libdino/src/entity/settings.vala
+++ b/libdino/src/entity/settings.vala
@@ -10,6 +10,7 @@ public class Settings : Object {
send_typing_ = col_to_bool_or_default("send_typing", true);
send_marker_ = col_to_bool_or_default("send_marker", true);
notifications_ = col_to_bool_or_default("notifications", true);
+ sound_ = col_to_bool_or_default("sound", true);
convert_utf8_smileys_ = col_to_bool_or_default("convert_utf8_smileys", true);
current_width = col_to_int_or_default("window_width", 1200);
@@ -56,6 +57,15 @@ public class Settings : Object {
}
}
+ private bool sound_;
+ public bool sound {
+ get { return sound_; }
+ set {
+ db.settings.insert().or("REPLACE").value(db.settings.key, "sound").value(db.settings.value, value.to_string()).perform();
+ sound_ = value;
+ }
+ }
+
private bool convert_utf8_smileys_;
public bool convert_utf8_smileys {
get { return convert_utf8_smileys_; }