1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 */ 9 10 #include <unotools/caserotate.hxx> 11 #include <i18nutil/transliteration.hxx> 12 13 //TODO Use XCharacterClassification::getStringType to determine the current 14 //(possibly mixed) case type and rotate to the next one 15 getNextMode()16TransliterationFlags RotateTransliteration::getNextMode() 17 { 18 TransliterationFlags nMode = TransliterationFlags::NONE; 19 20 switch (nF3ShiftCounter) 21 { 22 case 0: 23 nMode = TransliterationFlags::TITLE_CASE; 24 break; 25 case 1: //tdf#116315 26 nMode = TransliterationFlags::SENTENCE_CASE; 27 break; 28 case 2: 29 nMode = TransliterationFlags::LOWERCASE_UPPERCASE; 30 break; 31 default: 32 case 3: 33 nMode = TransliterationFlags::UPPERCASE_LOWERCASE; 34 nF3ShiftCounter = -1; 35 break; 36 } 37 38 nF3ShiftCounter++; 39 40 return nMode; 41 } 42 43 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 44
