diff options
Diffstat (limited to 'SwifTools')
| -rw-r--r-- | SwifTools/Dock/Dock.h | 6 | ||||
| -rw-r--r-- | SwifTools/Dock/MacOSXDock.h | 4 | ||||
| -rw-r--r-- | SwifTools/Dock/MacOSXDock.mm | 4 | ||||
| -rw-r--r-- | SwifTools/Dock/NullDock.h | 6 | ||||
| -rw-r--r-- | SwifTools/Dock/WindowsDock.h | 4 | ||||
| -rw-r--r-- | SwifTools/Idle/MacOSXIdleQuerier.cpp | 11 | ||||
| -rw-r--r-- | SwifTools/MacOSXChecker.mm | 6 | ||||
| -rw-r--r-- | SwifTools/SpellParser.cpp | 11 |
8 files changed, 32 insertions, 20 deletions
diff --git a/SwifTools/Dock/Dock.h b/SwifTools/Dock/Dock.h index 6120445..362aabc 100644 --- a/SwifTools/Dock/Dock.h +++ b/SwifTools/Dock/Dock.h @@ -1,18 +1,20 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once +#include <cstddef> + namespace Swift { class Dock { public: virtual ~Dock(); - virtual void setNumberOfPendingMessages(int i) = 0; + virtual void setNumberOfPendingMessages(size_t i) = 0; }; } diff --git a/SwifTools/Dock/MacOSXDock.h b/SwifTools/Dock/MacOSXDock.h index 6b33506..ef85a88 100644 --- a/SwifTools/Dock/MacOSXDock.h +++ b/SwifTools/Dock/MacOSXDock.h @@ -1,21 +1,21 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include <SwifTools/Dock/Dock.h> namespace Swift { class CocoaApplication; class MacOSXDock : public Dock { public: MacOSXDock(CocoaApplication* application); - virtual void setNumberOfPendingMessages(int i); + virtual void setNumberOfPendingMessages(size_t i); }; } diff --git a/SwifTools/Dock/MacOSXDock.mm b/SwifTools/Dock/MacOSXDock.mm index 5c7207c..3935ac0 100644 --- a/SwifTools/Dock/MacOSXDock.mm +++ b/SwifTools/Dock/MacOSXDock.mm @@ -1,29 +1,29 @@ /* - * Copyright (c) 2015-2016 Isode Limited. + * Copyright (c) 2015-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <SwifTools/Dock/MacOSXDock.h> #include <boost/lexical_cast.hpp> #include <AppKit/AppKit.h> #include <Cocoa/Cocoa.h> #include <Swiften/Base/String.h> namespace Swift { MacOSXDock::MacOSXDock(CocoaApplication*) { } -void MacOSXDock::setNumberOfPendingMessages(int i) { +void MacOSXDock::setNumberOfPendingMessages(size_t i) { std::string label(i > 0 ? boost::lexical_cast<std::string>(i) : ""); NSString *labelString = [[NSString alloc] initWithUTF8String: label.c_str()]; [[NSApp dockTile] setBadgeLabel: labelString]; [labelString release]; [NSApp requestUserAttention: NSInformationalRequest]; } } diff --git a/SwifTools/Dock/NullDock.h b/SwifTools/Dock/NullDock.h index 9f3c554..137ba03 100644 --- a/SwifTools/Dock/NullDock.h +++ b/SwifTools/Dock/NullDock.h @@ -1,19 +1,21 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once +#include <cstddef> + #include <SwifTools/Dock/Dock.h> namespace Swift { class NullDock : public Dock { public: NullDock() {} - virtual void setNumberOfPendingMessages(int) { + virtual void setNumberOfPendingMessages(size_t) { } }; } diff --git a/SwifTools/Dock/WindowsDock.h b/SwifTools/Dock/WindowsDock.h index fc10a48..f9a9dae 100644 --- a/SwifTools/Dock/WindowsDock.h +++ b/SwifTools/Dock/WindowsDock.h @@ -1,30 +1,30 @@ /* - * Copyright (c) 2010-2016 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include <boost/lexical_cast.hpp> #include <QSystemTrayIcon> #include <SwifTools/Dock/Dock.h> #include <SwifTools/Notifier/Notifier.h> namespace Swift { class WindowsDock : public Dock { public: WindowsDock(QSystemTrayIcon* tray, Notifier* notifier) : tray(tray), notifier(notifier) {} - virtual void setNumberOfPendingMessages(int i) { + virtual void setNumberOfPendingMessages(size_t i) { if (notifier->isAvailable()) { return; } if (i > 0) { std::string message = boost::lexical_cast<std::string>(i) + " new message"; if (i > 1) { message += "s"; } diff --git a/SwifTools/Idle/MacOSXIdleQuerier.cpp b/SwifTools/Idle/MacOSXIdleQuerier.cpp index 6d6780b..89fa050 100644 --- a/SwifTools/Idle/MacOSXIdleQuerier.cpp +++ b/SwifTools/Idle/MacOSXIdleQuerier.cpp @@ -1,21 +1,23 @@ /* - * Copyright (c) 2010 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <SwifTools/Idle/MacOSXIdleQuerier.h> #pragma GCC diagnostic ignored "-Wold-style-cast" #include <cassert> #include <iostream> +#include <limits> + #include <boost/numeric/conversion/cast.hpp> #include <CoreFoundation/CoreFoundation.h> namespace Swift { MacOSXIdleQuerier::MacOSXIdleQuerier() : ioService(0) { mach_port_t masterPort; IOMasterPort(MACH_PORT_NULL, &masterPort); ioService = IOServiceGetMatchingService(masterPort, IOServiceMatching("IOHIDSystem")); @@ -23,13 +25,18 @@ MacOSXIdleQuerier::MacOSXIdleQuerier() : ioService(0) { } int MacOSXIdleQuerier::getIdleTimeSeconds() { CFTypeRef property = IORegistryEntryCreateCFProperty(ioService, CFSTR("HIDIdleTime"), kCFAllocatorDefault, 0); uint64_t idle = 0; bool result = CFNumberGetValue((CFNumberRef)property, kCFNumberSInt64Type, &idle); assert(result); (void) result; CFRelease(property); - return boost::numeric_cast<int>(idle / 1000000000); + try { + return boost::numeric_cast<int>(idle / 1000000000); + } + catch (const boost::numeric::bad_numeric_cast&) { + return std::numeric_limits<int>::max(); + } } } diff --git a/SwifTools/MacOSXChecker.mm b/SwifTools/MacOSXChecker.mm index aefe3e7..afaa87c 100644 --- a/SwifTools/MacOSXChecker.mm +++ b/SwifTools/MacOSXChecker.mm @@ -1,30 +1,32 @@ /* * Copyright (c) 2013 Tobias Markmann * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* - * Copyright (c) 2015-2016 Isode Limited. + * Copyright (c) 2015-2017 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <SwifTools/MacOSXChecker.h> #include <algorithm> #include <cassert> #include <boost/algorithm/string.hpp> #include <AppKit/AppKit.h> +#include <SwifTools/Cocoa/CocoaUtil.h> + namespace Swift { MacOSXChecker::MacOSXChecker() { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; [spellChecker setAutomaticallyIdentifiesLanguages:YES]; } MacOSXChecker::~MacOSXChecker() { } @@ -48,19 +50,19 @@ std::string MacOSXChecker::activeLanguage() const { std::vector<std::string> MacOSXChecker::supportedLanguages() const { assert(false); } void MacOSXChecker::getSuggestions(const std::string& word, std::vector<std::string>& list) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; NSString* wordString = [[NSString alloc] initWithUTF8String: word.c_str()]; NSArray* suggestions = [spellChecker guessesForWordRange:NSMakeRange(0, [wordString length]) inString:wordString language:nil inSpellDocumentWithTag:0]; for(unsigned int i = 0; i < [suggestions count]; ++i) { - list.push_back(std::string([[suggestions objectAtIndex:i] UTF8String])); + list.push_back(ns2StdString([suggestions objectAtIndex:i])); } [wordString release]; } void MacOSXChecker::checkFragment(const std::string& fragment, PositionPairList& misspelledPositions) { NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker]; size_t nextLocation = 0; NSRange range; NSString *fragmentString = [[NSString alloc] initWithUTF8String: fragment.c_str()]; diff --git a/SwifTools/SpellParser.cpp b/SwifTools/SpellParser.cpp index 5bafa6e..e449b45 100644 --- a/SwifTools/SpellParser.cpp +++ b/SwifTools/SpellParser.cpp @@ -1,27 +1,26 @@ /* * Copyright (c) 2011-2013 Vlad Voicu * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ /* - * Copyright (c) 2016 Isode Limited. + * Copyright (c) 2016-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <SwifTools/SpellParser.h> #include <string> #include <boost/bind.hpp> -#include <boost/numeric/conversion/cast.hpp> #include <boost/ref.hpp> #include <boost/spirit/include/lex_lexertl.hpp> namespace lex = boost::spirit::lex; namespace Swift { template <typename Lexer> struct word_count_tokens : lex::lexer<Lexer> @@ -41,26 +40,26 @@ struct word_count_tokens : lex::lexer<Lexer> struct counter { typedef bool result_type; // the function operator gets called for each of the matched tokens template <typename Token> bool operator()(Token const& t, PositionPairList& wordPositions, std::size_t& position) const { switch (t.id()) { case ID_WWW: - position += boost::numeric_cast<size_t>(t.value().size()); + position += static_cast<std::size_t>(t.value().size()); break; case ID_HTTP: - position += boost::numeric_cast<size_t>(t.value().size()); + position += static_cast<std::size_t>(t.value().size()); break; case ID_WORD: // matched a word - wordPositions.push_back(boost::tuples::make_tuple(position, position + boost::numeric_cast<size_t>(t.value().size()))); - position += boost::numeric_cast<size_t>(t.value().size()); + wordPositions.push_back(boost::tuples::make_tuple(position, position + static_cast<std::size_t>(t.value().size()))); + position += static_cast<std::size_t>(t.value().size()); break; case ID_CHAR: // match a simple char ++position; break; } return true; // always continue to tokenize } }; |
Swift