ctrl k
  • BeagleIM/conversation/AbstractChatViewController.swift
    ■ ■ ■ ■ ■ ■
    skipped 320 lines
    321 321   }
    322 322  
    323 323   func prepareCompletions(for query: String) -> [Any] {
    324  - if let face = EmojiFaces.search(contains: query) {
     324 + if Settings.suggestEmoticons, let face = EmojiFaces.search(contains: query) {
    325 325   return [face];
    326 326   }
    327 327   
    skipped 1 lines
    329 329   return [];
    330 330   }
    331 331  
    332  - let q = String(query.dropFirst().lowercased());
     332 + let q = String(query.dropFirst());
    333 333   guard !q.isEmpty else {
    334 334   return [];
    335 335   }
    skipped 286 lines
  • BeagleIM/localization/pl.lproj/Localizable.strings
    ■ ■ ■ ■ ■ ■
    skipped 1021 lines
    1022 1022  /* leaving channel text */
    1023 1023  "You are the last person with ownership of this channel. Please decide what to do with the channel." = "Jesteś ostatnią osobą będącą właścicielem tego kanału. Zdecyduj co zrobić z kanałem.";
    1024 1024   
     1025 +/* setting */
     1026 +"Suggest emoticons" = "Sugeruj emotikony";
     1027 + 
  • BeagleIM/settings/GeneralSettingsController.swift
    ■ ■ ■ ■ ■
    skipped 32 lines
    33 33  
    34 34   fileprivate var markdownFormatting: NSButton!;
    35 35   fileprivate var showEmoticons: NSButton!;
     36 + private var suggestEmoticons: NSButton!;
    36 37   fileprivate var spellchecking: NSButton!;
    37 38  
    38 39   fileprivate var encryptionButton: NSPopUpButton!;
    skipped 36 lines
    75 76  
    76 77   markdownFormatting = formView.addRow(label: NSLocalizedString("Message formatting", comment: "setting") + ":", field: NSButton(checkboxWithTitle: NSLocalizedString("Markdown", comment: "setting"), target: self, action: #selector(checkboxChanged(_:))));
    77 78   showEmoticons = formView.addRow(label: "", field: NSButton(checkboxWithTitle: NSLocalizedString("Show emoticons", comment: "setting"), target: self, action: #selector(checkboxChanged(_:))))
     79 + suggestEmoticons = formView.addRow(label: "", field: NSButton(checkboxWithTitle: NSLocalizedString("Suggest emoticons", comment: "setting"), target: self, action: #selector(checkboxChanged(_:))))
    78 80   Settings.$enableMarkdownFormatting.assign(to: \.isEnabled, on: showEmoticons).store(in: &cancellables)
    79 81   spellchecking = formView.addRow(label: "", field: NSButton(checkboxWithTitle: NSLocalizedString("Spellchecking", comment: "setting"), target: self, action: #selector(checkboxChanged(_:))));
    80 82   enableLinkPreviews = formView.addRow(label: "", field: NSButton(checkboxWithTitle: NSLocalizedString("Enable link previews", comment: "setting"), target: self, action: #selector(checkboxChanged(_:))));
    skipped 40 lines
    121 123   notificationsFromUnknownSenders.state = Settings.notificationsFromUnknownSenders ? .on : .off;
    122 124   markdownFormatting.state = Settings.enableMarkdownFormatting ? .on : .off;
    123 125   showEmoticons.state = Settings.showEmoticons ? .on : .off;
     126 + suggestEmoticons.state = Settings.suggestEmoticons ? .on : .off;
    124 127   systemMenuIcon.state = Settings.systemMenuIcon ? .on : .off;
    125 128   spellchecking.state = Settings.spellchecking ? .on : .off;
    126 129  
    skipped 27 lines
    154 157   Settings.spellchecking = sender.state == .on;
    155 158   case showEmoticons:
    156 159   Settings.showEmoticons = sender.state == .on;
     160 + case suggestEmoticons:
     161 + Settings.suggestEmoticons = sender.state == .on;
    157 162   case encryptionButton:
    158 163   let encryption: ChatEncryption = encryptionButton.indexOfSelectedItem == 1 ? .omemo : .none;
    159 164   Settings.messageEncryption = encryption;
    skipped 31 lines
  • BeagleIM/utils/EmojiShortcodes.swift
    ■ ■ ■ ■ ■ ■
    skipped 1892 lines
    1893 1893   static func search(contains query: String, limit: Int = 5) -> [String] {
    1894 1894   var results = dict.keys.filter({ $0.starts(with: query) }).sorted();
    1895 1895   if results.count < limit {
    1896  - let parts = query.split(separator: "_");
     1896 + let parts = query.split(separator: "_").map({String($0)});
    1897 1897   if parts.count > 1 {
    1898 1898   results.append(contentsOf: dict.keys.filter({key in (!results.contains(key)) && key.starts(with: parts[0]) && parts[1..<parts.count].allSatisfy({ key.contains($0) })}).sorted());
    1899 1899   }
    1900 1900   if results.count < limit {
    1901  - results.append(contentsOf: dict.keys.filter({ key in (!results.contains(key)) && parts.allSatisfy({ key.contains($0) })}).sorted());
     1901 + results.append(contentsOf: dict.keys.filter({ key in (!results.contains(key)) && parts.allSatisfy({ key.starts(with: $0) || key.contains("_\($0)") })}).sorted());
    1902 1902   }
    1903 1903   }
    1904 1904   if results.count > limit {
    skipped 12 lines
  • BeagleIM/utils/Settings.swift
    ■ ■ ■ ■ ■ ■
    skipped 127 lines
    128 128   var enableMarkdownFormatting: Bool;
    129 129   @UserDefaultsSetting(key: "showEmoticons", defaultValue: true)
    130 130   var showEmoticons: Bool;
     131 + @UserDefaultsSetting(key: "suggestEmoticons", defaultValue: true)
     132 + var suggestEmoticons: Bool;
    131 133   @UserDefaultsRawSetting(key: "messageEncryption", defaultValue: ConversationEncryption.none)
    132 134   var messageEncryption: ConversationEncryption
    133 135   @UserDefaultsSetting(key: "notificationsFromUnknownSenders", defaultValue: false)
    skipped 189 lines
Please wait...
Page is in error, reload to recover