Codebase list mozc / 7306a9d
Merge commit 'upstream/1.3.975.102' Nobuhiro Iwamatsu 12 years ago
1150 changed file(s) with 2356 addition(s) and 1390 deletion(s). Raw diff Collapse all Expand all
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
3030 "breakpad_revision": "892",
3131 "cygwin_in_chromium_revision": "66844",
3232 "gtest_revision": "484",
33 "gyp_revision": "1034",
33 "gyp_revision": "1167",
3434 "jsoncpp_revision": "230",
3535 "memory_watcher_in_chromium_revision": "81926",
3636 "protobuf_revision": "375",
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
3535 #include <fcntl.h>
3636 #include <string.h>
3737 #include <sys/stat.h>
38 #include <unistd.h>
3839 #endif
3940
4041 #include <map>
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 #!/usr/bin/env python
11 # -*- coding: utf-8 -*-
2 # Copyright 2010-2011, Google Inc.
2 # Copyright 2010-2012, Google Inc.
33 # All rights reserved.
44 #
55 # Redistribution and use in source and binary forms, with or without
426426 help='Use dynamically linked version of Qt. '
427427 'Currently this flag is used only on Windows builds.')
428428
429 parser.add_option('--enable_cloud_sync', action='store_true',
430 dest='enable_cloud_sync')
431 parser.add_option('--disable_cloud_sync', action='store_false',
432 dest='enable_cloud_sync',
433 help='Intentionally enable or disable cloud sync feature '
434 'with the CLOUD_SYNC macro defined in code. '
435 '--enable_cloud_sync enables it, and --disable_cloud_sync '
436 'disables it. If both options are not set, enables the '
437 'cloud sync feature according to the target environment '
438 'and branding.')
439
429440 # TODO(yukawa): Remove this option when Zinnia can be built on Windows with
430441 # enabling Unicode.
431442 use_zinnia_default = True
606617 options.channel_dev = version.IsDevChannel()
607618 if options.channel_dev:
608619 command_line.extend(['-D', 'channel_dev=1'])
620
621 # Check whether --enable_cloud_sync or --disable_cloud_sync are set. If
622 # neither of them are set, enables the cloud sync feature according to the
623 # target platform and branding.
624 if options.enable_cloud_sync is None:
625 if options.branding == 'GoogleJapaneseInput' and (IsWindows() or IsMac()):
626 options.enable_cloud_sync = True
627 else:
628 options.enable_cloud_sync = False
629 command_line.extend(['-D', 'enable_cloud_sync=%s' %
630 (1 if options.enable_cloud_sync else 0)])
609631
610632 command_line.extend(['-D', 'target_platform=%s' % options.target_platform])
611633
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
235235 Performed_Conversion_Undo
236236 Performed_Conversion_SegmentFocusLeft
237237 Performed_Conversion_SegmentFocusRight
238 Performed_Conversion_SegmentFocusRightOrCommit
239238 Performed_Conversion_SegmentFocusFirst
240239 Performed_Conversion_SegmentFocusLast
241240 Performed_Conversion_SegmentWidthExpand
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
7676 </font>
7777 </property>
7878 <property name="text">
79 <string>Copyright © 2011 Google Inc. All Rights Reserved.</string>
79 <string>Copyright © 2012 Google Inc. All Rights Reserved.</string>
8080 </property>
8181 <property name="alignment">
8282 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
1515 </message>
1616 <message utf8="true">
1717 <location filename="about_dialog.ui" line="80"/>
18 <source>Copyright © 2011 Google Inc. All Rights Reserved.</source>
18 <source>Copyright © 2012 Google Inc. All Rights Reserved.</source>
1919 <translation type="unfinished"></translation>
2020 </message>
2121 <message>
1414 </message>
1515 <message utf8="true">
1616 <location filename="about_dialog.ui" line="80"/>
17 <source>Copyright © 2011 Google Inc. All Rights Reserved.</source>
17 <source>Copyright © 2012 Google Inc. All Rights Reserved.</source>
1818 <translation type="unfinished"></translation>
1919 </message>
2020 <message>
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
289289
290290 #ifdef OS_WINDOWS
291291 IMEHotKeyDisabledCheckBox->setChecked(WinUtil::GetIMEHotKeyDisabled());
292 #else
293 IMEHotKeyDisabledCheckBox->setVisible(false);
292294 #endif
293295
294296 #ifdef CHANNEL_DEV
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
163163 <translation type="unfinished"></translation>
164164 </message>
165165 <message>
166 <location filename="config_dialog.ui" line="1310"/>
166 <location filename="config_dialog.ui" line="1355"/>
167167 <source>Misc</source>
168168 <translation type="unfinished"></translation>
169169 </message>
170170 <message>
171 <location filename="config_dialog.ui" line="1357"/>
171 <location filename="config_dialog.ui" line="1402"/>
172172 <source>Logging level (debug only)</source>
173173 <translation type="unfinished"></translation>
174174 </message>
175175 <message>
176 <location filename="config_dialog.ui" line="1386"/>
176 <location filename="config_dialog.ui" line="1431"/>
177177 <source>Logging</source>
178178 <translation type="unfinished"></translation>
179179 </message>
180180 <message>
181 <location filename="config_dialog.ui" line="1418"/>
181 <location filename="config_dialog.ui" line="1463"/>
182182 <source>Administration</source>
183183 <translation type="unfinished"></translation>
184184 </message>
185185 <message>
186186 <location filename="config_dialog.ui" line="1113"/>
187 <location filename="config_dialog.ui" line="1456"/>
187 <location filename="config_dialog.ui" line="1501"/>
188188 <source>Settings...</source>
189189 <translation type="unfinished"></translation>
190190 </message>
191191 <message>
192 <location filename="config_dialog.ui" line="1476"/>
192 <location filename="config_dialog.ui" line="1521"/>
193193 <source>Dictionary preloading and UAC settings</source>
194194 <translation type="unfinished"></translation>
195195 </message>
384384 <translation type="unfinished"></translation>
385385 </message>
386386 <message>
387 <location filename="config_dialog.ui" line="1501"/>
387 <location filename="config_dialog.ui" line="1317"/>
388 <source>Allow Using Cloud Handwriting</source>
389 <translation type="unfinished"></translation>
390 </message>
391 <message>
392 <location filename="config_dialog.ui" line="1333"/>
393 <source>Cloud servers</source>
394 <translation type="unfinished"></translation>
395 </message>
396 <message>
397 <location filename="config_dialog.ui" line="1546"/>
388398 <source>Check if Mozc is the default IME on startup</source>
389399 <translation type="unfinished"></translation>
390400 </message>
391401 <message>
392 <location filename="config_dialog.ui" line="1325"/>
402 <location filename="config_dialog.ui" line="1370"/>
393403 <source>Default IME</source>
394404 <translation type="unfinished"></translation>
395405 </message>
396406 <message>
397 <location filename="config_dialog.ui" line="1511"/>
407 <location filename="config_dialog.ui" line="1556"/>
398408 <source>Disable Keyboard layout hotkey (Ctrl+Shift)</source>
399409 <translation type="unfinished"></translation>
400410 </message>
401411 <message>
402 <location filename="config_dialog.ui" line="1550"/>
412 <location filename="config_dialog.ui" line="1595"/>
403413 <source>Reset to defaults</source>
404414 <translation type="unfinished"></translation>
405415 </message>
684694 <location filename="config_dialog.cc" line="365"/>
685695 <location filename="config_dialog.cc" line="379"/>
686696 <location filename="config_dialog.cc" line="387"/>
687 <location filename="config_dialog.cc" line="673"/>
688 <location filename="config_dialog.cc" line="687"/>
689 <location filename="config_dialog.cc" line="697"/>
690 <location filename="config_dialog.cc" line="709"/>
691 <location filename="config_dialog.cc" line="719"/>
692 <location filename="config_dialog.cc" line="731"/>
693 <location filename="config_dialog.cc" line="804"/>
697 <location filename="config_dialog.cc" line="675"/>
698 <location filename="config_dialog.cc" line="689"/>
699 <location filename="config_dialog.cc" line="699"/>
700 <location filename="config_dialog.cc" line="711"/>
701 <location filename="config_dialog.cc" line="721"/>
702 <location filename="config_dialog.cc" line="733"/>
703 <location filename="config_dialog.cc" line="806"/>
694704 <source>Mozc settings</source>
695705 <translation type="unfinished"></translation>
696706 </message>
721731 </message>
722732 <message>
723733 <location filename="config_dialog.cc" line="552"/>
724 <location filename="config_dialog.cc" line="983"/>
734 <location filename="config_dialog.cc" line="985"/>
725735 <source>Sync is not enabled</source>
726736 <translation type="unfinished"></translation>
727737 </message>
728738 <message>
729 <location filename="config_dialog.cc" line="674"/>
739 <location filename="config_dialog.cc" line="676"/>
730740 <source>Do you want to clear personalization data? Input history is not reset with this operation. Please open &quot;suggestion&quot; tab to remove input history data.</source>
731741 <translation type="unfinished"></translation>
732742 </message>
733743 <message>
734 <location filename="config_dialog.cc" line="688"/>
735 <location filename="config_dialog.cc" line="710"/>
744 <location filename="config_dialog.cc" line="690"/>
745 <location filename="config_dialog.cc" line="712"/>
736746 <source>Mozc Converter is not running. Settings were not saved.</source>
737747 <translation type="unfinished"></translation>
738748 </message>
739749 <message>
740 <location filename="config_dialog.cc" line="698"/>
750 <location filename="config_dialog.cc" line="700"/>
741751 <source>Do you want to clear all history data?</source>
742752 <translation type="unfinished"></translation>
743753 </message>
744754 <message>
745 <location filename="config_dialog.cc" line="720"/>
755 <location filename="config_dialog.cc" line="722"/>
746756 <source>Do you want to clear unused history data?</source>
747757 <translation type="unfinished"></translation>
748758 </message>
749759 <message>
750 <location filename="config_dialog.cc" line="732"/>
760 <location filename="config_dialog.cc" line="734"/>
751761 <source>Mozc Converter is not running. Operation was not executed.</source>
752762 <translation type="unfinished"></translation>
753763 </message>
754764 <message>
755 <location filename="config_dialog.cc" line="805"/>
765 <location filename="config_dialog.cc" line="807"/>
756766 <source>When you reset Mozc settings, any changes you&apos;ve made will be reverted to the default settings. Do you want to reset settings? The following items are not reset with this operation.
757767 - Personalization data
758768 - Input history
762772 <translation type="unfinished"></translation>
763773 </message>
764774 <message>
765 <location filename="config_dialog.cc" line="833"/>
775 <location filename="config_dialog.cc" line="835"/>
766776 <source>Stop Sync</source>
767777 <translation type="unfinished"></translation>
768778 </message>
769779 <message>
770 <location filename="config_dialog.cc" line="835"/>
780 <location filename="config_dialog.cc" line="837"/>
771781 <source>Start Sync</source>
772782 <translation type="unfinished"></translation>
773783 </message>
774784 <message>
775 <location filename="config_dialog.cc" line="851"/>
785 <location filename="config_dialog.cc" line="853"/>
776786 <source>Stop sync and reset the auth token</source>
777787 <translation type="unfinished"></translation>
778788 </message>
779789 <message>
780 <location filename="config_dialog.cc" line="852"/>
790 <location filename="config_dialog.cc" line="854"/>
781791 <source>You are trying to stop sync and reset the auth token. To restart sync, you will need to get a new auth token.
782792 Do you really want to continue?</source>
783793 <translation type="unfinished"></translation>
784794 </message>
785795 <message>
786 <location filename="config_dialog.cc" line="936"/>
796 <location filename="config_dialog.cc" line="938"/>
787797 <source>Not synced yet</source>
788798 <translation type="unfinished"></translation>
789799 </message>
790800 <message>
791 <location filename="config_dialog.cc" line="940"/>
801 <location filename="config_dialog.cc" line="942"/>
792802 <source>Last synced time: </source>
793803 <translation type="unfinished"></translation>
794804 </message>
795805 <message>
796 <location filename="config_dialog.cc" line="980"/>
806 <location filename="config_dialog.cc" line="982"/>
797807 <source>During synchronization</source>
798808 <translation type="unfinished"></translation>
799809 </message>
800810 <message>
801 <location filename="config_dialog.cc" line="994"/>
811 <location filename="config_dialog.cc" line="1000"/>
812 <source>Authorization failed.</source>
813 <translation type="unfinished"></translation>
814 </message>
815 <message>
816 <location filename="config_dialog.cc" line="1003"/>
817 <source>Cannot save dictionaries because Sync Dictionary exceeds its entry size limit.</source>
818 <translation type="unfinished"></translation>
819 </message>
820 <message>
821 <location filename="config_dialog.cc" line="1007"/>
822 <source>Cannot save dictionaries because Sync Dictionary exceeds its binary size limit.</source>
823 <translation type="unfinished"></translation>
824 </message>
825 <message>
826 <location filename="config_dialog.cc" line="1011"/>
827 <source>Cannot save dictionaries because the number of dictionaries for sync exceeds its limit.</source>
828 <translation type="unfinished"></translation>
829 </message>
830 <message>
831 <location filename="config_dialog.cc" line="1015"/>
832 <source>Unknown error was found.</source>
833 <translation type="unfinished"></translation>
834 </message>
835 <message>
836 <location filename="config_dialog.cc" line="1028"/>
837 <source>Authorization error</source>
838 <translation type="unfinished"></translation>
839 </message>
840 <message>
841 <location filename="config_dialog.cc" line="1033"/>
842 <source>Dictionary sync error</source>
843 <translation type="unfinished"></translation>
844 </message>
845 <message>
846 <location filename="config_dialog.cc" line="1036"/>
847 <source>Unknown sync error</source>
848 <translation type="unfinished"></translation>
849 </message>
850 <message>
851 <location filename="config_dialog.cc" line="1048"/>
802852 <source>Clear all sync data in Google servers</source>
803853 <translation type="unfinished"></translation>
804854 </message>
805855 <message>
806 <location filename="config_dialog.cc" line="995"/>
856 <location filename="config_dialog.cc" line="1049"/>
807857 <source>You are trying to clear all the data in the sync server.
808858 Do you really want to continue?</source>
809859 <translation type="unfinished"></translation>
10471097 <translation type="unfinished"></translation>
10481098 </message>
10491099 </context>
1100 <context>
1101 <name>mozc::gui::WebServiceInfolistEditorDialog</name>
1102 <message>
1103 <location filename="webservice_infolist_editor.cc" line="99"/>
1104 <source>New entry</source>
1105 <translation type="unfinished"></translation>
1106 </message>
1107 <message>
1108 <location filename="webservice_infolist_editor.cc" line="101"/>
1109 <source>Remove selected entries</source>
1110 <translation type="unfinished"></translation>
1111 </message>
1112 <message>
1113 <location filename="webservice_infolist_editor.cc" line="104"/>
1114 <source>Import from file...</source>
1115 <translation type="unfinished"></translation>
1116 </message>
1117 <message>
1118 <location filename="webservice_infolist_editor.cc" line="106"/>
1119 <source>Export to file...</source>
1120 <translation type="unfinished"></translation>
1121 </message>
1122 <message>
1123 <location filename="webservice_infolist_editor.cc" line="109"/>
1124 <source>Help...</source>
1125 <translation type="unfinished"></translation>
1126 </message>
1127 <message>
1128 <location filename="webservice_infolist_editor.cc" line="111"/>
1129 <source>Mozc Web Service Usage Dictionary table editor</source>
1130 <translation type="unfinished"></translation>
1131 </message>
1132 <message>
1133 <location filename="webservice_infolist_editor.cc" line="123"/>
1134 <source>Name</source>
1135 <translation type="unfinished"></translation>
1136 </message>
1137 <message>
1138 <location filename="webservice_infolist_editor.cc" line="123"/>
1139 <source>URL</source>
1140 <translation type="unfinished"></translation>
1141 </message>
1142 <message>
1143 <location filename="webservice_infolist_editor.cc" line="124"/>
1144 <source>Format type</source>
1145 <translation type="unfinished"></translation>
1146 </message>
1147 <message>
1148 <location filename="webservice_infolist_editor.cc" line="124"/>
1149 <source>Xpath/Jsonpath</source>
1150 <translation type="unfinished"></translation>
1151 </message>
1152 <message>
1153 <location filename="webservice_infolist_editor.cc" line="188"/>
1154 <source>Enter name of Web service</source>
1155 <translation type="unfinished"></translation>
1156 </message>
1157 <message>
1158 <location filename="webservice_infolist_editor.cc" line="189"/>
1159 <source>Enter URL for of Web service.
1160 &quot;%s&quot; is expanded to the candidate string.
1161 &quot;%r&quot; is expanded to the all preedit string.
1162
1163 Example: http://api.example.com/keyword/%s</source>
1164 <translation type="unfinished"></translation>
1165 </message>
1166 <message>
1167 <location filename="webservice_infolist_editor.cc" line="193"/>
1168 <source>Select format type</source>
1169 <translation type="unfinished"></translation>
1170 </message>
1171 <message>
1172 <location filename="webservice_infolist_editor.cc" line="194"/>
1173 <source>Enter Xpath or Jsonpath.
1174 This query is used for extracting the content from URL.
1175
1176 Example of Xpath: //content/node
1177 Example of Jsonpath: $.content.node</source>
1178 <translation type="unfinished"></translation>
1179 </message>
1180 <message>
1181 <location filename="webservice_infolist_editor.cc" line="231"/>
1182 <source>Mozc settings</source>
1183 <translation type="unfinished"></translation>
1184 </message>
1185 <message>
1186 <location filename="webservice_infolist_editor.cc" line="232"/>
1187 <source>You can&apos;t have more than %1 entries</source>
1188 <translation type="unfinished"></translation>
1189 </message>
1190 </context>
10501191 </TS>
230230 <message>
231231 <location filename="config_dialog.ui" line="1272"/>
232232 <source>Clear all sync data in Google servers. To delete data completely, make sure there is no other machine which is running sync and stop sync on this machine after clearing the data.</source>
233 <translation>同期サーバーにあるデータを全て消去します。データを消去したままにするには、他のコンピュータで実行している同期をあらかじめ解除し、消去の実行後にこのコンピュータの同期も解除してください。
234 実行しますか?</translation>
233 <translation>同期サーバーにあるデータを全て消去します。データを消去したままにするには、他のコンピュータで実行している同期をあらかじめ解除し、消去の実行後にこのコンピュータの同期も解除してください。</translation>
235234 </message>
236235 <message>
237236 <location filename="config_dialog.ui" line="57"/>
539538 <translation>最終同期時刻</translation>
540539 </message>
541540 <message>
542 <location filename="config_dialog.ui" line="1310"/>
541 <location filename="config_dialog.ui" line="1355"/>
543542 <source>Misc</source>
544543 <translation>その他</translation>
545544 </message>
546545 <message>
547 <location filename="config_dialog.ui" line="1357"/>
546 <location filename="config_dialog.ui" line="1402"/>
548547 <source>Logging level (debug only)</source>
549548 <translation>ログレベル(デバッグ)</translation>
550549 </message>
553552 <translation type="obsolete">プロトコル ログを有効にする(デバッグ)</translation>
554553 </message>
555554 <message>
556 <location filename="config_dialog.ui" line="1386"/>
555 <location filename="config_dialog.ui" line="1431"/>
557556 <source>Logging</source>
558557 <translation>ログ</translation>
559558 </message>
560559 <message>
561 <location filename="config_dialog.ui" line="1418"/>
560 <location filename="config_dialog.ui" line="1463"/>
562561 <source>Administration</source>
563562 <translation>管理</translation>
564563 </message>
565564 <message>
566565 <location filename="config_dialog.ui" line="1113"/>
567 <location filename="config_dialog.ui" line="1456"/>
566 <location filename="config_dialog.ui" line="1501"/>
568567 <source>Settings...</source>
569568 <translation>設定変更...</translation>
570569 </message>
571570 <message>
572 <location filename="config_dialog.ui" line="1476"/>
571 <location filename="config_dialog.ui" line="1521"/>
573572 <source>Dictionary preloading and UAC settings</source>
574573 <translation>オンメモリ辞書とUACの設定</translation>
575574 </message>
599598 <translation>設定や同期用ユーザー辞書を、異なるコンピュータ間で安全に同期します</translation>
600599 </message>
601600 <message>
602 <location filename="config_dialog.ui" line="1501"/>
601 <location filename="config_dialog.ui" line="1317"/>
602 <source>Allow Using Cloud Handwriting</source>
603 <translation type="unfinished"></translation>
604 </message>
605 <message>
606 <location filename="config_dialog.ui" line="1333"/>
607 <source>Cloud servers</source>
608 <translation type="unfinished"></translation>
609 </message>
610 <message>
611 <location filename="config_dialog.ui" line="1546"/>
603612 <source>Check if Mozc is the default IME on startup</source>
604613 <translation>起動時に Mozcが既定の IME であるか確認する</translation>
605614 </message>
606615 <message>
607 <location filename="config_dialog.ui" line="1511"/>
616 <location filename="config_dialog.ui" line="1556"/>
608617 <source>Disable Keyboard layout hotkey (Ctrl+Shift)</source>
609618 <translation>ホットキー(Ctrl+Shift)による IME の切り替えを無効化する</translation>
610619 </message>
611620 <message>
612 <location filename="config_dialog.ui" line="1325"/>
621 <location filename="config_dialog.ui" line="1370"/>
613622 <source>Default IME</source>
614623 <translation>既定の IME</translation>
615624 </message>
616625 <message>
617 <location filename="config_dialog.ui" line="1550"/>
626 <location filename="config_dialog.ui" line="1595"/>
618627 <source>Reset to defaults</source>
619628 <translation>初期値に戻す</translation>
620629 </message>
10851094 </message>
10861095 <message>
10871096 <location filename="config_dialog.cc" line="552"/>
1088 <location filename="config_dialog.cc" line="983"/>
1097 <location filename="config_dialog.cc" line="985"/>
10891098 <source>Sync is not enabled</source>
10901099 <translation>同期機能:オフ</translation>
10911100 </message>
10921101 <message>
1093 <location filename="config_dialog.cc" line="688"/>
1094 <location filename="config_dialog.cc" line="710"/>
1102 <location filename="config_dialog.cc" line="690"/>
1103 <location filename="config_dialog.cc" line="712"/>
10951104 <source>Mozc Converter is not running. Settings were not saved.</source>
10961105 <translation>変換サーバが反応していません。設定の反映に失敗しました。</translation>
10971106 </message>
10981107 <message>
1099 <location filename="config_dialog.cc" line="805"/>
1108 <location filename="config_dialog.cc" line="807"/>
11001109 <source>When you reset Mozc settings, any changes you&apos;ve made will be reverted to the default settings. Do you want to reset settings? The following items are not reset with this operation.
11011110 - Personalization data
11021111 - Input history
11111120 - 管理者用設定</translation>
11121121 </message>
11131122 <message>
1114 <location filename="config_dialog.cc" line="833"/>
1123 <location filename="config_dialog.cc" line="835"/>
11151124 <source>Stop Sync</source>
11161125 <translation>同期の解除</translation>
11171126 </message>
11181127 <message>
1119 <location filename="config_dialog.cc" line="835"/>
1128 <location filename="config_dialog.cc" line="837"/>
11201129 <source>Start Sync</source>
11211130 <translation>同期する</translation>
11221131 </message>
11231132 <message>
1124 <location filename="config_dialog.cc" line="851"/>
1133 <location filename="config_dialog.cc" line="853"/>
11251134 <source>Stop sync and reset the auth token</source>
11261135 <translation>同期の解除と認証コードのクリア</translation>
11271136 </message>
11281137 <message>
1129 <location filename="config_dialog.cc" line="852"/>
1138 <location filename="config_dialog.cc" line="854"/>
11301139 <source>You are trying to stop sync and reset the auth token. To restart sync, you will need to get a new auth token.
11311140 Do you really want to continue?</source>
11321141 <translation>同期の解除と認証コードのクリアを行います。同期を再開するには、新しい認証コードを取得する必要があります。
11331142 実行しますか?</translation>
11341143 </message>
11351144 <message>
1136 <location filename="config_dialog.cc" line="936"/>
1145 <location filename="config_dialog.cc" line="938"/>
11371146 <source>Not synced yet</source>
11381147 <translation>同期されていません</translation>
11391148 </message>
11401149 <message>
1141 <location filename="config_dialog.cc" line="940"/>
1150 <location filename="config_dialog.cc" line="942"/>
11421151 <source>Last synced time: </source>
11431152 <translation>最終同期時刻: </translation>
11441153 </message>
11451154 <message>
1146 <location filename="config_dialog.cc" line="995"/>
1155 <location filename="config_dialog.cc" line="1000"/>
1156 <source>Authorization failed.</source>
1157 <translation>認証に失敗しました。</translation>
1158 </message>
1159 <message>
1160 <location filename="config_dialog.cc" line="1003"/>
1161 <source>Cannot save dictionaries because Sync Dictionary exceeds its entry size limit.</source>
1162 <translation>単語数の上限を超えたため同期用辞書をセーブできません。</translation>
1163 </message>
1164 <message>
1165 <location filename="config_dialog.cc" line="1007"/>
1166 <source>Cannot save dictionaries because Sync Dictionary exceeds its binary size limit.</source>
1167 <translation>ファイルサイズの上限を超えたため同期用辞書をセーブできません。</translation>
1168 </message>
1169 <message>
1170 <location filename="config_dialog.cc" line="1011"/>
1171 <source>Cannot save dictionaries because the number of dictionaries for sync exceeds its limit.</source>
1172 <translation>同期用辞書の数が上限を超えたため辞書をセーブできません。</translation>
1173 </message>
1174 <message>
1175 <location filename="config_dialog.cc" line="1015"/>
1176 <source>Unknown error was found.</source>
1177 <translation>未知のエラーです。</translation>
1178 </message>
1179 <message>
1180 <location filename="config_dialog.cc" line="1028"/>
1181 <source>Authorization error</source>
1182 <translation>認証失敗</translation>
1183 </message>
1184 <message>
1185 <location filename="config_dialog.cc" line="1033"/>
1186 <source>Dictionary sync error</source>
1187 <translation>辞書同期エラー</translation>
1188 </message>
1189 <message>
1190 <location filename="config_dialog.cc" line="1036"/>
1191 <source>Unknown sync error</source>
1192 <translation>未知の同期エラー</translation>
1193 </message>
1194 <message>
1195 <location filename="config_dialog.cc" line="1049"/>
11471196 <source>You are trying to clear all the data in the sync server.
11481197 Do you really want to continue?</source>
11491198 <translation>Google サーバー上の同期データを全て消去します。
11581207 <translation type="obsolete">同期失敗</translation>
11591208 </message>
11601209 <message>
1161 <location filename="config_dialog.cc" line="980"/>
1210 <location filename="config_dialog.cc" line="982"/>
11621211 <source>During synchronization</source>
11631212 <translation>同期中です</translation>
11641213 </message>
11651214 <message>
1166 <location filename="config_dialog.cc" line="994"/>
1215 <location filename="config_dialog.cc" line="1048"/>
11671216 <source>Clear all sync data in Google servers</source>
11681217 <translation>Google サーバー上の同期データを全て消去する</translation>
11691218 </message>
11721221 <location filename="config_dialog.cc" line="365"/>
11731222 <location filename="config_dialog.cc" line="379"/>
11741223 <location filename="config_dialog.cc" line="387"/>
1175 <location filename="config_dialog.cc" line="673"/>
1176 <location filename="config_dialog.cc" line="687"/>
1177 <location filename="config_dialog.cc" line="697"/>
1178 <location filename="config_dialog.cc" line="709"/>
1179 <location filename="config_dialog.cc" line="719"/>
1180 <location filename="config_dialog.cc" line="731"/>
1181 <location filename="config_dialog.cc" line="804"/>
1224 <location filename="config_dialog.cc" line="675"/>
1225 <location filename="config_dialog.cc" line="689"/>
1226 <location filename="config_dialog.cc" line="699"/>
1227 <location filename="config_dialog.cc" line="711"/>
1228 <location filename="config_dialog.cc" line="721"/>
1229 <location filename="config_dialog.cc" line="733"/>
1230 <location filename="config_dialog.cc" line="806"/>
11821231 <source>Mozc settings</source>
11831232 <translation>Mozc プロパティ</translation>
11841233 </message>
12031252 <translation>設定の反映に失敗しました</translation>
12041253 </message>
12051254 <message>
1206 <location filename="config_dialog.cc" line="674"/>
1255 <location filename="config_dialog.cc" line="676"/>
12071256 <source>Do you want to clear personalization data? Input history is not reset with this operation. Please open &quot;suggestion&quot; tab to remove input history data.</source>
12081257 <translation>学習結果がリセットされます。実行しますか? 入力履歴データはリセットされません。入力履歴データのリセットは「サジェスト→全入力履歴の削除」で行えます。</translation>
12091258 </message>
12101259 <message>
1211 <location filename="config_dialog.cc" line="732"/>
1260 <location filename="config_dialog.cc" line="734"/>
12121261 <source>Mozc Converter is not running. Operation was not executed.</source>
12131262 <translation>Mozcコンバーターが起動していません。設定の反映に失敗しました。</translation>
12141263 </message>
12151264 <message>
1216 <location filename="config_dialog.cc" line="698"/>
1265 <location filename="config_dialog.cc" line="700"/>
12171266 <source>Do you want to clear all history data?</source>
12181267 <translation>すべての入力履歴が削除されます。実行しますか?</translation>
12191268 </message>
12201269 <message>
1221 <location filename="config_dialog.cc" line="720"/>
1270 <location filename="config_dialog.cc" line="722"/>
12221271 <source>Do you want to clear unused history data?</source>
12231272 <translation>サジェスト経由で入力されなかった履歴が削除されます。実行しますか?</translation>
12241273 </message>
14651514 <context>
14661515 <name>mozc::gui::WebServiceInfolistEditorDialog</name>
14671516 <message>
1517 <location filename="webservice_infolist_editor.cc" line="99"/>
14681518 <source>New entry</source>
1469 <translation type="obsolete">新しいエントリー</translation>
1470 </message>
1471 <message>
1519 <translation type="unfinished">新しいエントリー</translation>
1520 </message>
1521 <message>
1522 <location filename="webservice_infolist_editor.cc" line="101"/>
14721523 <source>Remove selected entries</source>
1473 <translation type="obsolete">選択されたエントリーを削除</translation>
1474 </message>
1475 <message>
1524 <translation type="unfinished">選択されたエントリーを削除</translation>
1525 </message>
1526 <message>
1527 <location filename="webservice_infolist_editor.cc" line="104"/>
14761528 <source>Import from file...</source>
1477 <translation type="obsolete">インポート...</translation>
1478 </message>
1479 <message>
1529 <translation type="unfinished">インポート...</translation>
1530 </message>
1531 <message>
1532 <location filename="webservice_infolist_editor.cc" line="106"/>
14801533 <source>Export to file...</source>
1481 <translation type="obsolete">エクスポート...</translation>
1534 <translation type="unfinished">エクスポート...</translation>
1535 </message>
1536 <message>
1537 <location filename="webservice_infolist_editor.cc" line="109"/>
1538 <source>Help...</source>
1539 <translation type="unfinished"></translation>
1540 </message>
1541 <message>
1542 <location filename="webservice_infolist_editor.cc" line="111"/>
1543 <source>Mozc Web Service Usage Dictionary table editor</source>
1544 <translation type="unfinished"></translation>
1545 </message>
1546 <message>
1547 <location filename="webservice_infolist_editor.cc" line="123"/>
1548 <source>Name</source>
1549 <translation type="unfinished"></translation>
1550 </message>
1551 <message>
1552 <location filename="webservice_infolist_editor.cc" line="123"/>
1553 <source>URL</source>
1554 <translation type="unfinished"></translation>
1555 </message>
1556 <message>
1557 <location filename="webservice_infolist_editor.cc" line="124"/>
1558 <source>Format type</source>
1559 <translation type="unfinished"></translation>
1560 </message>
1561 <message>
1562 <location filename="webservice_infolist_editor.cc" line="124"/>
1563 <source>Xpath/Jsonpath</source>
1564 <translation type="unfinished"></translation>
1565 </message>
1566 <message>
1567 <location filename="webservice_infolist_editor.cc" line="188"/>
1568 <source>Enter name of Web service</source>
1569 <translation type="unfinished"></translation>
1570 </message>
1571 <message>
1572 <location filename="webservice_infolist_editor.cc" line="189"/>
1573 <source>Enter URL for of Web service.
1574 &quot;%s&quot; is expanded to the candidate string.
1575 &quot;%r&quot; is expanded to the all preedit string.
1576
1577 Example: http://api.example.com/keyword/%s</source>
1578 <translation type="unfinished"></translation>
1579 </message>
1580 <message>
1581 <location filename="webservice_infolist_editor.cc" line="193"/>
1582 <source>Select format type</source>
1583 <translation type="unfinished"></translation>
1584 </message>
1585 <message>
1586 <location filename="webservice_infolist_editor.cc" line="194"/>
1587 <source>Enter Xpath or Jsonpath.
1588 This query is used for extracting the content from URL.
1589
1590 Example of Xpath: //content/node
1591 Example of Jsonpath: $.content.node</source>
1592 <translation type="unfinished"></translation>
1593 </message>
1594 <message>
1595 <location filename="webservice_infolist_editor.cc" line="231"/>
1596 <source>Mozc settings</source>
1597 <translation type="unfinished"></translation>
1598 </message>
1599 <message>
1600 <location filename="webservice_infolist_editor.cc" line="232"/>
1601 <source>You can&apos;t have more than %1 entries</source>
1602 <translation type="unfinished">%1 個以上のエントリーは登録できません</translation>
14821603 </message>
14831604 <message>
14841605 <source>Do you want to overwrite the current roman table?</source>
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
3232 #include <windows.h>
3333 #include <imm.h>
3434 #include <ime.h>
35 #elif OS_LINUX
36 #define XK_MISCELLANY
37 #include <X11/keysymdef.h>
3538 #endif
3639
3740 #include <QtCore/QString>
117120 { VK_DBE_DBCSCHAR, "Hankaku/Zenkaku" }, // Zenkaku/hankaku
118121 // { VK_KANJI, "Kanji" }, // Do not support Kanji
119122 };
123 #elif OS_LINUX
124 struct LinuxVirtualKeyEntry {
125 uint16 virtual_key;
126 const char *mozc_key_name;
127 };
128
129 const LinuxVirtualKeyEntry kLinuxVirtualKeyModifierNonRequiredTable[] = {
130 { XK_Muhenkan, "Muhenkan" },
131 { XK_Henkan, "Henkan" },
132 { XK_Hiragana, "Hiragana" },
133 { XK_Katakana, "Katakana" },
134 { XK_Eisu_toggle, "Eisu" },
135 { XK_Zenkaku_Hankaku, "Hankaku/Zenkaku" },
136 };
120137 #endif
121138
122139 // On Windows Hiragana/Eisu keys only emits KEY_DOWN event.
366383 virtual_key) {
367384 modifier_non_required_key_ =
368385 kWinVirtualKeyModifierNonRequiredTable[i].mozc_key_name;
386 return Encode(result);
387 }
388 }
389 #elif OS_LINUX
390 // Handle JP109's Muhenkan/Henkan/katakana-hiragana and Zenkaku/Hankaku
391 const uint16 virtual_key = key_event.nativeVirtualKey();
392 for (size_t i = 0; i < arraysize(kLinuxVirtualKeyModifierNonRequiredTable);
393 ++i) {
394 if (kLinuxVirtualKeyModifierNonRequiredTable[i].virtual_key ==
395 virtual_key) {
396 modifier_non_required_key_ =
397 kLinuxVirtualKeyModifierNonRequiredTable[i].mozc_key_name;
369398 return Encode(result);
370399 }
371400 }
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
9393 invisible_commands_.insert(kReportBugCommand);
9494 // Old command name.
9595 invisible_commands_.insert(kEditInsertCommand);
96 #if defined(OS_MACOSX) || defined(OS_LINUX)
97 // On Mac/Linux, we cannot customize keybindings for IME ON/OFF
96 #if defined(OS_MACOSX)
97 // On Mac, we cannot customize keybindings for IME ON/OFF
9898 // So we do not show them.
9999 // TODO(toshiyuki): remove them after implimenting IME ON/OFF for Mac
100100 invisible_commands_.insert(kIMEOnCommand);
101101 invisible_commands_.insert(kIMEOffCommand);
102 #endif // OS_MACOSX || OS_LINUX
102 #endif // OS_MACOSX
103103
104104 invisible_modifiers_.insert(mozc::commands::KeyEvent::KEY_DOWN);
105105 invisible_modifiers_.insert(mozc::commands::KeyEvent::KEY_UP);
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
243243 <translation>Undo</translation>
244244 </message>
245245 <message>
246 <source>SegmentFocusRightOrCommit</source>
247 <translation>Move segment focus right or commit segment</translation>
248 </message>
249 <message>
250246 <source>Reconvert</source>
251247 <translation>Reconvert</translation>
252248 </message>
243243 <translation>確定取り消し</translation>
244244 </message>
245245 <message>
246 <source>SegmentFocusRightOrCommit</source>
247 <translation>文節を右に移動または確定</translation>
248 </message>
249 <message>
250246 <source>Reconvert</source>
251247 <translation>再変換</translation>
252248 </message>
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
136136 # (e.g. extra CFLAGS), also creates a new target in the src/chrome
137137 # project file called "coverage".
138138 'coverage%': 0,
139
140 # enable_cloud_sync represents if cloud sync feature is enabled or not.
141 'enable_cloud_sync%': 0,
139142
140143 # The pkg-config command to get the cflags/ldflags for Linux
141144 # builds. We make it customizable to allow building in a special
196199 '<@(linux_ldflags)',
197200 ],
198201 }],
202 ['enable_cloud_sync==1', {
203 'defines': ['CLOUD_SYNC'],
204 }],
199205 ],
200206 },
201207 'x86_Base': {
230236 'Optimization': '<(win_optimization_debug)',
231237 'PreprocessorDefinitions': ['_DEBUG'],
232238 'BasicRuntimeChecks': '3',
233 'RuntimeLibrary': '<(win_debug_static_crt)',
239 'conditions': [
240 ['use_dynamically_linked_qt=="YES"', {
241 # As a quick workaround, use dynamically-linked version of CRT
242 # if 'use_dynamically_linked_qt' is specified.
243 # As for GoogleJapaneseInput branding build, this is not enough
244 # because we cannot completely depend on dynamic CRT as
245 # described in b/2506385. We should use static CRT for the
246 # following binaries.
247 # - GoogleIMEJaCacheService.exe
248 # - GoogleIMEJaInstallerHelper32.dll
249 # - GoogleIMEJaInstallerHelper64.dll
250 # - any artifacts build in 'build_mozc.py build_tools'
251 # TODO(yukawa): Support GoogleJapaneseInput branding build.
252 'RuntimeLibrary': '<(win_debug_dynamic_crt)',
253 }, { # else
254 'RuntimeLibrary': '<(win_debug_static_crt)',
255 }],
256 ],
234257 },
235258 'VCResourceCompilerTool': {
236259 'PreprocessorDefinitions': ['_DEBUG'],
272295 # are built with /O2. We use the same optimization option between
273296 # Mozc and Qt just in case warning C4748 is true.
274297 'Optimization': '<(win_optimization_release)',
275 'RuntimeLibrary': '<(win_release_static_crt)',
298 'conditions': [
299 ['use_dynamically_linked_qt=="YES"', {
300 # As a quick workaround, use dynamically-linked version of CRT
301 # if 'use_dynamically_linked_qt' is specified.
302 # As for GoogleJapaneseInput branding build, this is not enough
303 # because we cannot completely depend on dynamic CRT as
304 # described in b/2506385. We should use static CRT for the
305 # following binaries.
306 # - GoogleIMEJaCacheService.exe
307 # - GoogleIMEJaInstallerHelper32.dll
308 # - GoogleIMEJaInstallerHelper64.dll
309 # - any artifacts build in 'build_mozc.py build_tools'
310 # TODO(yukawa): Support GoogleJapaneseInput branding build.
311 'RuntimeLibrary': '<(win_release_dynamic_crt)',
312 }, { # else
313 'RuntimeLibrary': '<(win_release_static_crt)',
314 }],
315 ],
276316 },
277317 },
278318 'conditions': [
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
350350 }
351351 if (new_mode != commands::NUM_OF_COMPOSITIONS) {
352352 output->mutable_status()->set_mode(new_mode);
353 output->set_mode(new_mode);
353 output->mutable_status()->set_activated(true);
354354 }
355355
356356 DLOG(INFO) << command->DebugString();
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
6363 },
6464 };
6565
66 // The IMEOff state is not available in Chewing.
67 const MozcEngineProperty *kMozcEnginePropertyIMEOffState = NULL;
6668 const size_t kMozcEnginePropertiesSize = arraysize(kMozcEngineProperties);
6769
6870 const commands::CompositionMode kMozcEngineInitialCompositionMode =
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
392392
393393 candidates->set_focused_index(hanja_index_);
394394 candidates->set_direction(commands::Candidates::HORIZONTAL);
395 candidates->set_position(0);
395396 }
396397
397398 // TODO(nona): make backspace key customizable.
819820 break;
820821 }
821822 hanja_lock_preedit_.clear();
823 // status is never used in hangul, followin value is dummy.
824 command->mutable_output()->mutable_status()->set_mode(commands::HIRAGANA);
825 command->mutable_output()->mutable_status()->set_activated(true);
822826 break;
823827 default:
824828 // do nothing.
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
5757 },
5858 };
5959
60 // The IMEOff state is not available in Hangul
61 const MozcEngineProperty *kMozcEnginePropertyIMEOffState = NULL;
6062 const size_t kMozcEnginePropertiesSize = arraysize(kMozcEngineProperties);
6163
6264 const commands::CompositionMode kMozcEngineInitialCompositionMode =
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 MAJOR=1
11 MINOR=3
2 BUILD=931
2 BUILD=975
33 REVISION=102
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
321321 working_area);
322322 }
323323
324 DWORD set_windows_pos_flags = SWP_NOACTIVATE | SWP_SHOWWINDOW;
324 const DWORD kSetWindowsPosFlags = SWP_NOACTIVATE | SWP_SHOWWINDOW;
325325 main_window_->SetWindowPos(HWND_TOPMOST,
326326 main_window_rect.Left(),
327327 main_window_rect.Top(),
328328 main_window_rect.Width(),
329329 main_window_rect.Height(),
330 set_windows_pos_flags);
330 kSetWindowsPosFlags);
331331 // This trick ensures that the window is certainly shown as 'inactivated'
332332 // in terms of visual effect on DWM-enabled desktop.
333333 main_window_->SendMessageW(WM_NCACTIVATE, FALSE);
358358 WindowUtil::GetWindowRectForInfolistWindow(
359359 infolist_window_->GetLayoutSize(),
360360 main_window_rect, working_area);
361 infolist_window_->MoveWindow(infolist_rect.Left(),
362 infolist_rect.Top(),
363 infolist_rect.Width(),
364 infolist_rect.Height(),
365 TRUE);
366 infolist_window_->SetWindowPos(HWND_TOPMOST, 0, 0, 0, 0,
367 SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
361 infolist_window_->SetWindowPos(HWND_TOPMOST,
362 infolist_rect.Left(),
363 infolist_rect.Top(),
364 infolist_rect.Width(),
365 infolist_rect.Height(),
366 kSetWindowsPosFlags);
368367 if (candidates.has_focused_index() && candidates.candidate_size() > 0) {
369368 const int focused_row =
370369 candidates.focused_index() - candidates.candidate(0).index();
417416 cascading_window_rect.Top(),
418417 cascading_window_rect.Width(),
419418 cascading_window_rect.Height(),
420 set_windows_pos_flags);
419 kSetWindowsPosFlags);
421420 // This trick ensures that the window is certainly shown as 'inactivated'
422421 // in terms of visual effect on DWM-enabled desktop.
423422 cascading_window_->SendMessageW(WM_NCACTIVATE, FALSE);
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
8585 }
8686 AddRewriter(new DateRewriter);
8787 AddRewriter(new FortuneRewriter);
88 // AddRewriter(new CommandRewriter);
88 // AddRewriter(new CommandRewriter);
8989 AddRewriter(new VersionRewriter);
9090 #if defined(OS_MACOSX) || defined(OS_WINDOWS) || defined(OS_CHROMEOS)
9191 // TODO(horo): Because infolist renderer window is implimented
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2012, Google Inc.
1 // All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 // * Neither the name of Google Inc. nor the names of its
14 // contributors may be used to endorse or promote products derived from
15 // this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 #include <string>
30
31 #include "base/util.h"
32 #include "converter/segments.h"
33 #include "rewriter/rewriter_interface.h"
34 #include "testing/base/public/gunit.h"
35 #include "config/config_handler.h"
36 #include "config/config.pb.h"
37
38 DECLARE_string(test_tmpdir);
39
40 namespace mozc {
41 namespace {
42
43 size_t CommandCandidatesSize(const Segment &segment) {
44 size_t result = 0;
45 for (int i = 0; i < segment.candidates_size(); ++i) {
46 if (segment.candidate(i).attributes &
47 Segment::Candidate::COMMAND_CANDIDATE) {
48 result++;
49 }
50 }
51 return result;
52 }
53
54 } // namespace
55
56 class RewriterTest : public testing::Test {
57 protected:
58 virtual void SetUp() {
59 Util::SetUserProfileDirectory(FLAGS_test_tmpdir);
60 config::Config config;
61 config::ConfigHandler::GetDefaultConfig(&config);
62 config::ConfigHandler::SetConfig(config);
63 }
64
65 virtual void TearDown() {
66 config::Config config;
67 config::ConfigHandler::GetDefaultConfig(&config);
68 config::ConfigHandler::SetConfig(config);
69 }
70
71 const RewriterInterface *GetRewriter() const {
72 return RewriterFactory::GetRewriter();
73 }
74 };
75
76 TEST_F(RewriterTest, CommandRewriterAvailability) {
77 Segments segments;
78 Segment *seg = segments.push_back_segment();
79
80 {
81 Segment::Candidate *candidate = seg->add_candidate();
82 // seg->set_key("こまんど");
83 // candidate->value = "コマンド";
84 seg->set_key("\xE3\x81\x93\xE3\x81\xBE\xE3\x82\x93\xE3\x81\xA9");
85 candidate->value = "\xE3\x82\xB3\xE3\x83\x9E"
86 "\xE3\x83\xB3\xE3\x83\x89";
87 EXPECT_TRUE(GetRewriter()->Rewrite(&segments));
88 EXPECT_EQ(2, CommandCandidatesSize(*seg));
89 seg->clear_candidates();
90 }
91
92 {
93 Segment::Candidate *candidate = seg->add_candidate();
94 // seg->set_key("さじぇすと");
95 // candidate->value = "サジェスト";
96 seg->set_key("\xE3\x81\x95\xE3\x81\x98\xE3\x81\x87"
97 "\xE3\x81\x99\xE3\x81\xA8");
98 candidate->value = "\xE3\x82\xB5\xE3\x82\xB8\xE3\x82\xA7"
99 "\xE3\x82\xB9\xE3\x83\x88";
100 EXPECT_TRUE(GetRewriter()->Rewrite(&segments));
101 EXPECT_EQ(1, CommandCandidatesSize(*seg));
102 seg->clear_candidates();
103 }
104 }
105
106 } // namespace mozc
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
5151 'number_rewriter_test.cc',
5252 'normalization_rewriter_test.cc',
5353 'remove_redundant_candidate_rewriter_test.cc',
54 # 'rewriter_test.cc',
5455 'symbol_rewriter_test.cc',
5556 'transliteration_rewriter_test.cc',
5657 'unicode_rewriter_test.cc',
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
565565 optional int32 length = 2;
566566 };
567567
568 // TODO(peria): Move this message to a new protobuf file.
569 message CloudSyncStatus {
570 enum SyncGlobalStatus {
571 SYNC_SUCCESS = 0;
572 SYNC_FAILURE = 1;
573 INSYNC = 2;
574 NOSYNC = 3; // no synchronisation is working.
575 };
576 required SyncGlobalStatus global_status = 1;
577
578 // Error types in sync feature.
579 enum ErrorCode {
580 // In case AuthToken is not accepted in OAuth2 authorization.
581 AUTHORIZATION_FAIL = 0;
582 // Any sync dictionaries have more entries than pre-defiend limit.
583 USER_DICTIONARY_NUM_ENTRY_EXCEEDED = 1;
584 // Sizes of any sync dictionaries are larger than pre-defiend limit.
585 USER_DICTIONARY_BYTESIZE_EXCEEDED = 2;
586 // The number of sync dictionaries exceeds pre-defined limit.
587 USER_DICTIONARY_NUM_DICTIONARY_EXCEEDED = 3;
588 };
589 message SyncError {
590 required ErrorCode error_code = 1;
591 optional int64 timestamp = 2 [default = -1];
592 };
593 // Error logs in sync feature.
594 repeated SyncError sync_errors = 2;
595
596 // We have no items numbered 3-5 for a historical reason.
597
598 // Timestamp of the last successful sync.
599 optional uint64 last_synced_timestamp = 6 [default = 0];
600 };
568601
569602 message Output {
570603 optional uint64 id = 1;
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
11171117 bool Session::Revert(commands::Command *command) {
11181118 if (context_->state() == ImeContext::PRECOMPOSITION) {
11191119 context_->mutable_converter()->Revert();
1120 return EchoBack(command);
1120 return EchoBackAndClearUndoContext(command);
11211121 }
11221122
11231123 if (!(context_->state() & (ImeContext::COMPOSITION |
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
639639
640640 const size_t result_length = Util::CharsLen(result_.key());
641641 const size_t preedit_length = Util::CharsLen(preedit);
642 if (result_length < preedit_length) {
642 bool use_partial_suggestion = false;
643 if (use_partial_suggestion && (result_length < preedit_length)) {
643644 // A candidate was chosen from partial suggestion.
644645 converter_->CommitPartialSuggestionSegmentValue(
645646 segments_.get(),
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
21362136 }
21372137 }
21382138
2139 TEST_F(SessionTest, UndoForComposition) {
2140 scoped_ptr<Session> session(new Session);
2141 InitSessionToPrecomposition(session.get());
2142
2143 // Undo requires capability DELETE_PRECEDING_TEXT.
2144 commands::Capability capability;
2145 capability.set_text_deletion(commands::Capability::DELETE_PRECEDING_TEXT);
2146 session->set_client_capability(capability);
2147
2148 commands::Command command;
2149 Segments segments;
2150
2151 { // Undo for CommitFirstSuggestion
2152 SetAiueo(&segments);
2153 convertermock_->SetStartSuggestionWithComposer(&segments, true);
2154 InsertCharacterChars("ai", session.get(), &command);
2155 SetComposer(session.get(), &segments);
2156 // "あい"
2157 EXPECT_EQ("\xE3\x81\x82\xE3\x81\x84", GetComposition(command));
2158
2159 command.Clear();
2160 session->CommitFirstSuggestion(&command);
2161 EXPECT_TRUE(command.output().has_result());
2162 EXPECT_FALSE(command.output().has_preedit());
2163 // "あいうえお"
2164 EXPECT_EQ("\xE3\x81\x82\xE3\x81\x84\xE3\x81\x86\xE3\x81\x88\xE3\x81\x8A",
2165 command.output().result().value());
2166 EXPECT_EQ(ImeContext::PRECOMPOSITION, session->context().state());
2167
2168 command.Clear();
2169 session->Undo(&command);
2170 EXPECT_FALSE(command.output().has_result());
2171 EXPECT_TRUE(command.output().has_deletion_range());
2172 EXPECT_EQ(-5, command.output().deletion_range().offset());
2173 EXPECT_EQ(5, command.output().deletion_range().length());
2174 EXPECT_TRUE(command.output().has_preedit());
2175 // "あい"
2176 EXPECT_EQ("\xE3\x81\x82\xE3\x81\x84", GetComposition(command));
2177 EXPECT_EQ(2, command.output().candidates().size());
2178 EXPECT_EQ(ImeContext::COMPOSITION, session->context().state());
2179 }
2180 }
21812139
21822140 TEST_F(SessionTest, RequestUndo) {
21832141 scoped_ptr<Session> session(new Session);
52845242 EXPECT_TRUE(convertermock->revert_conversion_called());
52855243 }
52865244
5245 // Revert command must clear the undo context.
5246 TEST_F(SessionTest, Issue5742293) {
5247 scoped_ptr<Session> session(new Session);
5248 InitSessionToPrecomposition(session.get());
5249
5250 // Undo requires capability DELETE_PRECEDING_TEXT.
5251 commands::Capability capability;
5252 capability.set_text_deletion(commands::Capability::DELETE_PRECEDING_TEXT);
5253 session->set_client_capability(capability);
5254
5255 config::Config config;
5256 config.set_session_keymap(config::Config::MSIME);
5257 SetConfig(config);
5258
5259 SetUndoContext(session.get());
5260
5261 commands::Command command;
5262
5263 // BackSpace key event issues Revert command, which should clear the undo
5264 // context.
5265 command.Clear();
5266 EXPECT_TRUE(SendKey("Backspace", session.get(), &command));
5267
5268 // Ctrl+BS should be consumed as UNDO.
5269 command.Clear();
5270 EXPECT_TRUE(TestSendKey("Ctrl Backspace", session.get(), &command));
5271
5272 EXPECT_FALSE(command.output().consumed());
5273 }
5274
52875275 TEST_F(SessionTest, AutoConversion) {
52885276 Segments segments;
52895277 SetAiueo(&segments);
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
4343 'inprocess_service.cc',
4444 'learning_preference_adapter.cc',
4545 'learning_preference_sync_util.cc',
46 'mock_syncer.cc',
4647 'sync_handler.cc',
48 'sync_status_manager.cc',
4749 'sync_util.cc',
48 'mock_syncer.cc',
4950 'syncer.cc',
5051 'user_dictionary_adapter.cc',
5152 'user_dictionary_sync_util.cc',
157158 'oauth2_util_test.cc',
158159 'oauth2_token_util_test.cc',
159160 'sync_handler_test.cc',
161 'sync_status_manager_test.cc',
160162 'sync_util_test.cc',
161163 'syncer_test.cc',
162164 'user_dictionary_adapter_test.cc',
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
3737 #include "base/util.h"
3838 #include "config/config_handler.h"
3939 #include "ipc/named_event.h"
40 #include "storage/registry.h"
4140 #include "sync/oauth2_client.h"
4241 #include "sync/oauth2_util.h"
42 #include "sync/sync_status_manager.h"
4343 #include "sync/syncer_interface.h"
4444 #include "client/client_interface.h"
4545
5151
5252 // TODO(taku) move it to base/const.h
5353 const char kEventName[] = "sync";
54 const char kLastSyncedDataKey[] = "sync.last_synced_data";
5554
5655 bool SyncFromScheduler(void *) {
5756 const config::Config &config = config::ConfigHandler::GetConfig();
121120 client->Reload();
122121 }
123122
124 void GetLastSyncedData(commands::CloudSyncStatus *cloud_sync_status) {
125 DCHECK(cloud_sync_status);
126 string value;
127 if (!mozc::storage::Registry::Lookup(kLastSyncedDataKey, &value)) {
128 LOG(WARNING) << "cannot read: " << kLastSyncedDataKey;
129 cloud_sync_status->Clear();
130 cloud_sync_status->set_global_status(commands::CloudSyncStatus::NOSYNC);
131 return;
132 }
133 cloud_sync_status->ParseFromArray(value.data(), value.size());
134 }
135
136 void SetLastSyncedData(const commands::CloudSyncStatus &cloud_sync_status) {
137 VLOG(1) << "setting last synced data";
138 if (!mozc::storage::Registry::Insert(
139 kLastSyncedDataKey, cloud_sync_status.SerializeAsString())) {
140 LOG(ERROR) << "cannot save: "<< kLastSyncedDataKey;
141 }
142 mozc::storage::Registry::Sync();
143 }
144
145123 class SyncerThread: public Thread {
146124 public:
147125 SyncerThread()
148126 : oauth2_util_(OAuth2Client::GetDefaultClient()),
149127 last_sync_timestamp_(0) {
150128 SyncerFactory::SetOAuth2(&oauth2_util_);
151 GetLastSyncedData(&last_status_);
129
130 // Singleton of SyncStatusManager is also used in each sync_adapter and
131 // each sync_util.
132 sync_status_manager_ = Singleton<SyncStatusManager>::get();
152133 }
153134
154135 virtual ~SyncerThread() {
172153 // existing token may be valid.
173154 oauth2_util_.RefreshAccessToken();
174155
156 // Clear sync errors before stacking new errors in syncers' works.
157 sync_status_manager_->NewSyncStatusSession();
158
175159 switch (command_type_) {
176160 case SYNC:
177161 {
178 UpdateSyncStatusAtomically(commands::CloudSyncStatus::INSYNC);
162 sync_status_manager_->SetSyncGlobalStatus(
163 commands::CloudSyncStatus::INSYNC);
179164
180165 bool reload_required = false;
181166 bool sync_succeed = true;
191176
192177 {
193178 scoped_lock lock(&status_mutex_);
194 last_status_.set_global_status(
179 sync_status_manager_->SetSyncGlobalStatus(
195180 sync_succeed ? commands::CloudSyncStatus::SYNC_SUCCESS :
196181 commands::CloudSyncStatus::SYNC_FAILURE);
197182 if (sync_succeed) {
198 last_status_.set_last_synced_timestamp(current_timestamp);
183 sync_status_manager_->SetLastSyncedTimestamp(current_timestamp);
199184 }
200 DLOG(INFO) << last_status_.DebugString();
201 SetLastSyncedData(last_status_);
202185 }
203186 // Update last_sync_timestamp_
204187 last_sync_timestamp_ = current_timestamp;
210193 // Invokes the clear command later in case of failure.
211194 // AddJob just ignores if there's already the same job.
212195 Scheduler::AddJob(kClearSyncJobSetting);
213 UpdateSyncStatusAtomically(commands::CloudSyncStatus::SYNC_FAILURE);
196 sync_status_manager_->SetSyncGlobalStatus(
197 commands::CloudSyncStatus::SYNC_FAILURE);
214198
215199 // Set the command type to SYNC to allow the next Clear() method.
216200 command_type_ = SYNC;
224208 commands::Input::AuthorizationInfo dummy_auth;
225209 SetAuthorization(dummy_auth);
226210 }
227 UpdateSyncStatusAtomically(commands::CloudSyncStatus::NOSYNC);
211 sync_status_manager_->SetSyncGlobalStatus(
212 commands::CloudSyncStatus::NOSYNC);
228213 Scheduler::RemoveJob(kClearSyncName);
229214 // Update last_sync_timestamp_
230215 last_sync_timestamp_ = current_timestamp;
234219 break;
235220 }
236221
222 // Save the final sync status in registry
223 sync_status_manager_->SaveSyncStatus();
224
237225 // Emit a notification event to the caller of Sync|Clear method.
238226 NotifyEvent();
239227 }
255243
256244 if (!SyncerFactory::GetSyncer()->Start()) {
257245 LOG(ERROR) << "SyncerInterface::Start() failed";
258 UpdateSyncStatusAtomically(commands::CloudSyncStatus::SYNC_FAILURE);
246 sync_status_manager_->SetSyncGlobalStatus(
247 commands::CloudSyncStatus::SYNC_FAILURE);
259248 NotifyEvent();
260249 return false;
261250 }
302291
303292 void GetCloudSyncStatus(commands::CloudSyncStatus *cloud_sync_status) {
304293 DCHECK(cloud_sync_status);
305 cloud_sync_status->Clear();
306294 if (IsRunning()) {
307 cloud_sync_status->set_global_status(commands::CloudSyncStatus::INSYNC);
308 return;
309 }
310
311 {
312 scoped_lock lock(&status_mutex_);
313 cloud_sync_status->CopyFrom(last_status_);
314 }
295 sync_status_manager_->SetSyncGlobalStatus(
296 commands::CloudSyncStatus::INSYNC);
297 }
298 sync_status_manager_->GetLastSyncStatus(cloud_sync_status);
315299 }
316300
317301 void SetAuthorization(
320304 !authorization_info.auth_code().empty()) {
321305 LOG(INFO) << authorization_info.DebugString();
322306 oauth2_util_.RequestAccessToken(authorization_info.auth_code());
323 UpdateSyncStatusAtomically(commands::CloudSyncStatus::INSYNC);
307 sync_status_manager_->SetSyncGlobalStatus(
308 commands::CloudSyncStatus::INSYNC);
324309 } else {
325310 oauth2_util_.Clear();
326 UpdateSyncStatusAtomically(commands::CloudSyncStatus::NOSYNC);
311 sync_status_manager_->SetSyncGlobalStatus(
312 commands::CloudSyncStatus::NOSYNC);
327313 }
328314 }
329315
330316 private:
331317 CommandType command_type_;
332 commands::CloudSyncStatus last_status_;
333318 Mutex status_mutex_;
334319 OAuth2Util oauth2_util_;
335320 uint64 last_sync_timestamp_;
336
337 void UpdateSyncStatusAtomically(
338 commands::CloudSyncStatus::SyncGlobalStatus new_status) {
339 scoped_lock lock(&status_mutex_);
340 last_status_.set_global_status(new_status);
341 }
321 SyncStatusManagerInterface *sync_status_manager_;
342322 };
343323 } // namespace
344324
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2012, Google Inc.
1 // All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 // * Neither the name of Google Inc. nor the names of its
14 // contributors may be used to endorse or promote products derived from
15 // this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 #include "sync/sync_status_manager.h"
30
31 #include <string>
32 #include "base/base.h"
33 #include "base/util.h"
34 #include "base/mutex.h"
35 #include "base/process_mutex.h"
36 #include "storage/registry.h"
37
38 namespace mozc {
39 namespace sync {
40
41 namespace {
42 const char kLastSyncedDataKey[] = "sync.last_synced_data";
43 } // namespace
44
45 SyncStatusManager::SyncStatusManager() {
46 scoped_lock lock(&mutex_);
47
48 // Read the last status from registry or set default status.
49 string value;
50 if (storage::Registry::Lookup(kLastSyncedDataKey, &value)) {
51 sync_status_.ParseFromArray(value.data(), value.size());
52 } else {
53 LOG(WARNING) << "cannot read: " << kLastSyncedDataKey;
54 sync_status_.Clear();
55 sync_status_.set_global_status(commands::CloudSyncStatus::NOSYNC);
56 }
57 }
58
59 SyncStatusManager::~SyncStatusManager() {
60 SaveSyncStatus();
61 }
62
63 void SyncStatusManager::GetLastSyncStatus(
64 commands::CloudSyncStatus *sync_status) {
65 DCHECK(sync_status);
66 scoped_lock lock(&mutex_);
67 sync_status->CopyFrom(sync_status_);
68 }
69
70 void SyncStatusManager::SetLastSyncStatus(
71 const commands::CloudSyncStatus &sync_status) {
72 scoped_lock lock(&mutex_);
73 sync_status_.CopyFrom(sync_status);
74 }
75
76 void SyncStatusManager::SaveSyncStatus() {
77 scoped_lock lock(&mutex_);
78
79 if (!storage::Registry::Insert(
80 kLastSyncedDataKey, sync_status_.SerializeAsString())) {
81 LOG(ERROR) << "cannot save: "<< kLastSyncedDataKey;
82 }
83 storage::Registry::Sync();
84 }
85
86 void SyncStatusManager::SetLastSyncedTimestamp(const int64 timestamp) {
87 scoped_lock lock(&mutex_);
88 sync_status_.set_last_synced_timestamp(timestamp);
89 }
90
91 void SyncStatusManager::SetSyncGlobalStatus(
92 const commands::CloudSyncStatus::SyncGlobalStatus global_status) {
93 scoped_lock lock(&mutex_);
94 sync_status_.set_global_status(global_status);
95 }
96
97 void SyncStatusManager::AddSyncError(
98 const commands::CloudSyncStatus::ErrorCode error_code) {
99 scoped_lock lock(&mutex_);
100 commands::CloudSyncStatus::SyncError *error = sync_status_.add_sync_errors();
101 error->set_error_code(error_code);
102 error->set_timestamp(Util::GetTime());
103 }
104
105 void SyncStatusManager::NewSyncStatusSession() {
106 scoped_lock lock(&mutex_);
107 sync_status_.mutable_sync_errors()->Clear();
108 }
109
110 } // namespace sync
111 } // namespace mozc
0 // Copyright 2010-2012, Google Inc.
1 // All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 // * Neither the name of Google Inc. nor the names of its
14 // contributors may be used to endorse or promote products derived from
15 // this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 // Functions defined in sync_status_manager.(h|cc) manage the status of sync
30 // feature, mainly stocking errors occured in the last sync.
31 // Public methods are thread-safe, so you can call them without caring threads,
32 // and notify about race condition to edit these methods.
33
34 #ifndef MOZC_SYNC_SYNC_STATUS_MANAGER_H_
35 #define MOZC_SYNC_SYNC_STATUS_MANAGER_H_
36
37 #include "base/mutex.h"
38 #include "sync/sync_status_manager_interface.h"
39
40 namespace mozc {
41 namespace sync {
42
43 class SyncStatusManager : public SyncStatusManagerInterface {
44 public:
45 SyncStatusManager();
46 virtual ~SyncStatusManager();
47
48 virtual void GetLastSyncStatus(commands::CloudSyncStatus *sync_status);
49 virtual void SetLastSyncStatus(const commands::CloudSyncStatus &sync_status);
50
51 // Save current sync status in registry obviously.
52 virtual void SaveSyncStatus();
53
54 // Each method below updates a part of sync status.
55 // Set in |last_synced_timestamp|.
56 virtual void SetLastSyncedTimestamp(const int64 timestamp);
57
58 // Set in |sync_global_status|.
59 virtual void SetSyncGlobalStatus(
60 const commands::CloudSyncStatus::SyncGlobalStatus global_status);
61
62 // Add a |sync_error| item, with error_code and a timestamp.
63 virtual void AddSyncError(
64 const commands::CloudSyncStatus::ErrorCode error_code);
65
66 // Clear everything other than |sync_global_status| and
67 // |last_synced_timestamp|.
68 // TODO(peria): Stack whole status before clearing.
69 virtual void NewSyncStatusSession();
70
71 // TODO(peria): Stack sync_status for few syncs, and make methods to access
72 // or to operate with old statuses.
73
74 private:
75 commands::CloudSyncStatus sync_status_;
76 Mutex mutex_;
77 };
78
79 } // namespace sync
80 } // namespace mozc
81
82 #endif // MOZC_SYNC_SYNC_STATUS_MANGER_H_
0 // Copyright 2010-2012, Google Inc.
1 // All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 // * Neither the name of Google Inc. nor the names of its
14 // contributors may be used to endorse or promote products derived from
15 // this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 #ifndef MOZC_SYNC_SYNC_STATUS_MANAGER_INTERFACE_H_
30 #define MOZC_SYNC_SYNC_STATUS_MANAGER_INTERFACE_H_
31
32 #include "session/commands.pb.h"
33
34 namespace mozc {
35 namespace sync {
36
37 class SyncStatusManagerInterface {
38 public:
39 virtual ~SyncStatusManagerInterface() {}
40
41 virtual void GetLastSyncStatus(commands::CloudSyncStatus *sync_status) = 0;
42
43 // Updates the sync status as the one in the argument.
44 virtual void SetLastSyncStatus(
45 const commands::CloudSyncStatus &sync_status) = 0;
46
47 // Save on-memory status into registry.
48 virtual void SaveSyncStatus() = 0;
49
50 // Each method below updates a part of sync status.
51 // Set in |last_synced_timestamp|.
52 virtual void SetLastSyncedTimestamp(const int64 timestamp) = 0;
53
54 // Set in |sync_global_status|.
55 virtual void SetSyncGlobalStatus(
56 const commands::CloudSyncStatus::SyncGlobalStatus global_status) = 0;
57
58 // Add a |sync_error| item, with error_code and a timestamp.
59 virtual void AddSyncError(
60 const commands::CloudSyncStatus::ErrorCode error_code) = 0;
61
62 // Clear everything other than |sync_global_status| and
63 // |last_synced_timestamp|.
64 // TODO(peria): Stack whole status before clearing.
65 virtual void NewSyncStatusSession() = 0;
66
67 // TODO(peria): Stack sync_status for few syncs, and make methods to access
68 // or to operate with old statuses.
69
70 protected:
71 SyncStatusManagerInterface() {}
72 };
73
74 } // namespace sync
75 } // namespace mozc
76
77 #endif // MOZC_SYNC_SYNC_STATUS_MANAGER_INTERFACE_H_
0 // Copyright 2010-2012, Google Inc.
1 // All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 // * Neither the name of Google Inc. nor the names of its
14 // contributors may be used to endorse or promote products derived from
15 // this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 #include "sync/sync_status_manager.h"
30
31 #include "base/base.h"
32 #include "base/util.h"
33 #include "storage/registry.h"
34 #include "session/commands.pb.h"
35 #include "testing/base/public/gunit.h"
36
37 DECLARE_string(test_tmpdir);
38
39 namespace mozc {
40 namespace sync {
41 namespace {
42 const int kNumSyncGlobalStatus = 4;
43 const int kNumSyncError = 4;
44 } // namespace
45
46 class SyncStatusManagerTest : public testing::Test {
47 protected:
48 virtual void SetUp() {
49 manager_.reset(new SyncStatusManager());
50 }
51
52 scoped_ptr<SyncStatusManager> manager_;
53 };
54
55 TEST_F(SyncStatusManagerTest, GetSetLastSyncStatus) {
56 // Set up test environment.
57 Util::SetUserProfileDirectory(FLAGS_test_tmpdir);
58
59 for (int i = 0; i < 10; ++i) {
60 commands::CloudSyncStatus status_org;
61 const uint64 t = Util::Random(1 << 30);
62 status_org.set_global_status(commands::CloudSyncStatus::SYNC_SUCCESS);
63 status_org.set_last_synced_timestamp(t);
64 manager_->SetLastSyncStatus(status_org);
65
66 commands::CloudSyncStatus status_new;
67 status_new.set_global_status(commands::CloudSyncStatus::INSYNC);
68 EXPECT_NE(t, status_new.last_synced_timestamp());
69 EXPECT_NE(commands::CloudSyncStatus::SYNC_SUCCESS,
70 status_new.global_status());
71
72 manager_->GetLastSyncStatus(&status_new);
73 EXPECT_EQ(t, status_new.last_synced_timestamp());
74 EXPECT_EQ(commands::CloudSyncStatus::SYNC_SUCCESS,
75 status_new.global_status());
76 }
77 }
78
79 TEST_F(SyncStatusManagerTest, UpdateSyncStatus) {
80 // Set up test environment.
81 Util::SetUserProfileDirectory(FLAGS_test_tmpdir);
82
83 for (int i = 0; i < 10; ++i) {
84 commands::CloudSyncStatus status;
85 commands::CloudSyncStatus::SyncGlobalStatus global =
86 static_cast<commands::CloudSyncStatus::SyncGlobalStatus>(
87 Util::Random(kNumSyncGlobalStatus));
88 manager_->SetSyncGlobalStatus(global);
89 manager_->GetLastSyncStatus(&status);
90 EXPECT_EQ(global, status.global_status());
91 }
92 }
93
94 TEST_F(SyncStatusManagerTest, StackOfSyncErrors) {
95 // Set up test environment.
96 Util::SetUserProfileDirectory(FLAGS_test_tmpdir);
97
98 commands::CloudSyncStatus status;
99 // global_status has no mean in this test, but it is required.
100 status.set_global_status(commands::CloudSyncStatus::INSYNC);
101 for (size_t i = 0; i < 10; ++i) {
102 commands::CloudSyncStatus::ErrorCode error =
103 static_cast<commands::CloudSyncStatus::ErrorCode>(
104 Util::Random(kNumSyncError));
105 manager_->AddSyncError(error);
106 manager_->GetLastSyncStatus(&status);
107 EXPECT_EQ(i + 1, status.sync_errors_size());
108 EXPECT_EQ(error, status.sync_errors(i).error_code());
109 }
110
111 // Clean up sync_errors.
112 manager_->NewSyncStatusSession();
113 manager_->GetLastSyncStatus(&status);
114 EXPECT_EQ(0, status.sync_errors_size());
115 }
116
117 } // namespace sync
118 } // namespace mozc
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
3535 #include "base/base.h"
3636 #include "base/mmap.h"
3737 #include "base/mutex.h"
38 #include "base/singleton.h"
3839 #include "dictionary/user_dictionary_storage.h"
40 #include "sync/sync_status_manager.h"
3941 #include "sync/sync_util.h"
4042
4143 namespace mozc {
402404 bool UserDictionarySyncUtil::LockAndSaveStorage(
403405 UserDictionaryStorage *storage) {
404406 DCHECK(storage);
407
408 // Check dictionary storage condition.
409 for (int i = 0; i < storage->dictionaries_size(); ++i) {
410 const UserDictionary &dict = storage->dictionaries(i);
411 if (dict.syncable() &&
412 dict.entries_size() > UserDictionaryStorage::max_sync_entry_size()) {
413 // This singleton is also used in sync_handler.cc.
414 Singleton<SyncStatusManager>::get()->AddSyncError(
415 commands::CloudSyncStatus::USER_DICTIONARY_NUM_ENTRY_EXCEEDED);
416 LOG(ERROR) << "a sync dictionary has " << dict.entries_size()
417 << " entries which exceeds the limit.";
418 return false;
419 }
420 }
421
405422 if (!storage->Lock()) {
406423 LOG(ERROR) << "cannot lock the storage: " << storage->filename();
407424 return false;
415432 return true;
416433 }
417434
418 } // sync
419 } // mozc
435 } // namespace sync
436 } // namespace mozc
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
3030
3131 #include <string>
3232 #include "base/base.h"
33 #include "base/clock_mock.h"
3334 #include "base/file_stream.h"
3435 #include "base/freelist.h"
36 #include "base/singleton.h"
3537 #include "base/util.h"
3638 #include "dictionary/user_dictionary_storage.h"
39 #include "sync/sync_status_manager.h"
3740 #include "sync/sync_util.h"
3841 #include "testing/base/public/gunit.h"
42
43 DECLARE_string(test_tmpdir);
3944
4045 namespace mozc {
4146 namespace sync {
187192 CHECK_GT(storage->dictionaries_size(), 0);
188193 }
189194 } // namespace
195
196 TEST(UserDictionarySyncUtilTest, NumEntryExceedsTest) {
197 const int kMaxNumEntry = UserDictionaryStorage::max_sync_entry_size();
198 const uint64 kSecond = 123;
199 const uint32 kMicroSecond = 456789;
200 scoped_ptr<Util::ClockInterface>
201 mock_clock(new ClockMock(kSecond, kMicroSecond));
202 Util::SetClockHandler(mock_clock.get());
203 SyncStatusManagerInterface *manager = Singleton<SyncStatusManager>::get();
204
205 // Set up test environment.
206 Util::SetUserProfileDirectory(FLAGS_test_tmpdir);
207
208 // Actual test.
209 UserDictionaryStorage storage(Util::JoinPath(FLAGS_test_tmpdir, "test.db"));
210 EXPECT_TRUE(storage.EnsureSyncDictionaryExists());
211 UserDictionarySyncUtil::UserDictionary *dic = storage.mutable_dictionaries(0);
212 EXPECT_TRUE(dic->syncable());
213 EXPECT_EQ(0, dic->entries_size());
214 for (int i = 0; i < kMaxNumEntry; ++i) {
215 UserDictionarySyncUtil::UserDictionaryEntry *entry = dic->add_entries();
216 entry->set_key("key" + Util::SimpleItoa(i));
217 entry->set_value("value" + Util::SimpleItoa(i));
218 }
219
220 commands::CloudSyncStatus status;
221 manager->GetLastSyncStatus(&status);
222 EXPECT_EQ(0, status.sync_errors_size());
223 EXPECT_TRUE(UserDictionarySyncUtil::LockAndSaveStorage(&storage));
224
225 // Check error log
226 manager->GetLastSyncStatus(&status);
227 EXPECT_EQ(0, status.sync_errors_size());
228
229 // Newly add a few etnries, to exceed maximum number of entry.
230 for (int i = 0; i < 10; ++i) {
231 UserDictionarySyncUtil::UserDictionaryEntry *entry = dic->add_entries();
232 entry->set_key("key" + Util::SimpleItoa(i + kMaxNumEntry));
233 entry->set_value("value" + Util::SimpleItoa(i + kMaxNumEntry));
234 }
235 EXPECT_FALSE(UserDictionarySyncUtil::LockAndSaveStorage(&storage));
236
237 // Check error log
238 manager->GetLastSyncStatus(&status);
239 EXPECT_EQ(1, status.sync_errors_size());
240 EXPECT_EQ(commands::CloudSyncStatus::USER_DICTIONARY_NUM_ENTRY_EXCEEDED,
241 status.sync_errors(0).error_code());
242 EXPECT_EQ(kSecond, status.sync_errors(0).timestamp());
243
244 // Unset clock handler
245 Util::SetClockHandler(NULL);
246 }
190247
191248 TEST(UserDictionarySyncUtilTest, CreateAndMergeTest) {
192249 UserDictionaryStorage storage_orig("");
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 ;; Copyright 2010-2011, Google Inc.
0 ;; Copyright 2010-2012, Google Inc.
11 ;; All rights reserved.
22 ;;
33 ;; Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
304304 prop_root_(NULL),
305305 prop_composition_mode_(NULL),
306306 prop_mozc_tool_(NULL),
307 current_composition_mode_(kMozcEngineInitialCompositionMode),
307 original_composition_mode_(kMozcEngineInitialCompositionMode),
308 is_activated_(true),
308309 preedit_method_(config::Config::ROMAN),
309310 ignore_reset_for_deletion_range_workaround_(false) {
310311 // |sub_prop_list| is a radio menu which is shown when a button in the
559560 }
560561
561562 VLOG(2) << key.DebugString();
562 if ((current_composition_mode_ == commands::DIRECT) &&
563 if (!is_activated_ && !config::ImeSwitchUtil::IsTurnOnInDirectMode(key)) {
563564 // We DO consume keys that enable Mozc such as Henkan even when in the
564565 // DIRECT mode.
565 !config::ImeSwitchUtil::IsTurnOnInDirectMode(key)) {
566566 return FALSE;
567567 }
568568
569 key.set_mode(current_composition_mode_);
569 key.set_mode(original_composition_mode_);
570570
571571 commands::Output output;
572572 if (!client_->SendKey(key, &output)) {
586586 IBusEngine *engine, commands::CompositionMode composition_mode) {
587587 commands::SessionCommand command;
588588 commands::Output output;
589 if (composition_mode == commands::DIRECT) {
590 // Commit a preedit string.
591 command.set_type(commands::SessionCommand::SUBMIT);
592 client_->SendCommand(command, &output);
589
590 // In the case of Mozc, there are two state values of IME, IMEOn/IMEOff and
591 // composition_mode. However in IBus we can only control composition mode, not
592 // IMEOn/IMEOff. So we use one composition state as IMEOff and the others as
593 // IMEOn. This setting can be configured with setting
594 // kMozcEnginePropertyIMEOffState. If kMozcEnginePropertyIMEOffState is NULL,
595 // it means current IME should not be off.
596 if (kMozcEnginePropertyIMEOffState
597 && is_activated_
598 && composition_mode == kMozcEnginePropertyIMEOffState->composition_mode) {
599 commands::KeyEvent key;
600 key.set_special_key(mozc::commands::KeyEvent::OFF);
601 client_->SendKey(key, &output);
593602 } else {
594603 command.set_type(commands::SessionCommand::SWITCH_INPUT_MODE);
595604 command.set_composition_mode(composition_mode);
596605 client_->SendCommand(command, &output);
597 // To esacpe infinity loop, remove mode entry.
598 output.clear_mode();
599 }
600 current_composition_mode_ = composition_mode;
606 }
607 DCHECK(output.has_status());
608 original_composition_mode_ = output.status().mode();
609 is_activated_ = output.status().activated();
610
601611 UpdateAll(engine, output);
602612 }
603613
634644 const MozcEngineProperty *entry =
635645 reinterpret_cast<const MozcEngineProperty*>(
636646 g_object_get_data(G_OBJECT(prop), kGObjectDataKey));
637 DCHECK(entry);
638 if (entry) {
639 // Update Mozc state.
640 SetCompositionMode(engine, entry->composition_mode);
641 // Update the language panel.
642 ibus_property_set_icon(prop_composition_mode_,
643 GetIconPath(entry->icon).c_str());
644 }
645 // Update the radio menu item.
646 ibus_property_set_state(prop, PROP_STATE_CHECKED);
647 } else {
648 ibus_property_set_state(prop, PROP_STATE_UNCHECKED);
649 }
650 // No need to call unref since ibus_prop_list_get does not add ref.
651 }
652 ibus_engine_update_property(engine, prop_composition_mode_);
647 SetCompositionMode(engine, entry->composition_mode);
648 UpdateCompositionModeIcon(engine, entry->composition_mode);
649 break;
650 }
651 }
653652 }
654653
655654 void MozcEngine::PropertyHide(IBusEngine *engine,
844843 UpdateResult(engine, output);
845844 UpdatePreedit(engine, output);
846845 UpdateCandidates(engine, output);
847 if (output.has_mode()) {
848 UpdateCompositionMode(engine, output.mode());
846
847 if (output.has_status() &&
848 (output.status().activated() != is_activated_ ||
849 output.status().mode() != original_composition_mode_)) {
850 if (output.status().activated()) {
851 UpdateCompositionModeIcon(engine, output.status().mode());
852 } else {
853 DCHECK(kMozcEnginePropertyIMEOffState);
854 UpdateCompositionModeIcon(
855 engine, kMozcEnginePropertyIMEOffState->composition_mode);
856 }
857 is_activated_ = output.status().activated();
858 original_composition_mode_ = output.status().mode();
849859 }
850860 LaunchTool(output);
851861 ExecuteCallback(engine, output);
10711081 }
10721082 #endif // OS_CHROMEOS
10731083
1074 void MozcEngine::UpdateCompositionMode(
1084 void MozcEngine::UpdateCompositionModeIcon(
10751085 IBusEngine *engine, const commands::CompositionMode new_composition_mode) {
1076 if (current_composition_mode_ == new_composition_mode) {
1077 return;
1078 }
1086
1087 const MozcEngineProperty *entry = NULL;
10791088 for (size_t i = 0; i < kMozcEnginePropertiesSize; ++i) {
1080 const MozcEngineProperty &entry = kMozcEngineProperties[i];
1081 if (entry.composition_mode == new_composition_mode) {
1082 PropertyActivate(engine, entry.key, PROP_STATE_CHECKED);
1083 }
1084 }
1089 if (kMozcEngineProperties[i].composition_mode == new_composition_mode) {
1090 entry = &(kMozcEngineProperties[i]);
1091 break;
1092 }
1093 }
1094 DCHECK(entry);
1095
1096 size_t i = 0;
1097 IBusProperty *prop = NULL;
1098 while ((prop = ibus_prop_list_get(prop_composition_mode_->sub_props, i++))) {
1099 if (!g_strcmp0(entry->key, prop->key)) {
1100 // Update the language panel.
1101 ibus_property_set_icon(prop_composition_mode_,
1102 GetIconPath(entry->icon).c_str());
1103 // Update the radio menu item.
1104 ibus_property_set_state(prop, PROP_STATE_CHECKED);
1105 } else {
1106 ibus_property_set_state(prop, PROP_STATE_UNCHECKED);
1107 }
1108 // No need to call unref since ibus_prop_list_get does not add ref.
1109 }
1110 ibus_engine_update_property(engine, prop_composition_mode_);
10851111 }
10861112
10871113 void MozcEngine::UpdatePreeditMethod() {
11191145 }
11201146
11211147 void MozcEngine::RevertSession(IBusEngine *engine) {
1122 const commands::CompositionMode original_composition_mode =
1123 current_composition_mode_;
1124
11251148 commands::SessionCommand command;
11261149 command.set_type(commands::SessionCommand::REVERT);
11271150 commands::Output output;
11291152 LOG(ERROR) << "RevertSession() failed";
11301153 return;
11311154 }
1132 UpdateAll(engine, output); // may update |current_composition_mode_|.
1133
1134 // If the original composition mode is DIRECT, we should resume the setting.
1135 if (original_composition_mode == commands::DIRECT) {
1136 UpdateCompositionMode(engine, original_composition_mode);
1137 }
1155 UpdateAll(engine, output);
11381156 }
11391157
11401158 bool MozcEngine::ExecuteCallback(IBusEngine *engine,
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
157157 bool LaunchTool(const commands::Output &output) const;
158158
159159 // Updates the composition mode based on the content of |output|.
160 void UpdateCompositionMode(
160 void UpdateCompositionModeIcon(
161161 IBusEngine *engine, const commands::CompositionMode new_composition_mode);
162162 // Updates internal preedit_method (Roman/Kana) state
163163 void UpdatePreeditMethod();
183183 IBusPropList *prop_root_;
184184 IBusProperty *prop_composition_mode_;
185185 IBusProperty *prop_mozc_tool_;
186 commands::CompositionMode current_composition_mode_;
186 commands::CompositionMode original_composition_mode_;
187 bool is_activated_;
187188 config::Config::PreeditMethod preedit_method_;
188189
189190 // Unique IDs of candidates that are currently shown.
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
8282 },
8383 };
8484
85 const MozcEngineProperty *kMozcEnginePropertyIMEOffState
86 = &kMozcEngineProperties[0];
8587 const size_t kMozcEnginePropertiesSize = arraysize(kMozcEngineProperties);
8688 COMPILE_ASSERT(commands::NUM_OF_COMPOSITIONS == kMozcEnginePropertiesSize,
8789 bad_number_of_props);
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
4848 extern const MozcEngineProperty kMozcEngineProperties[];
4949 extern const size_t kMozcEnginePropertiesSize;
5050
51 // If kMozcEnginePropertiesIMEOffState is NULL, it means IME should be always
52 // On.
53 extern const MozcEngineProperty *kMozcEnginePropertyIMEOffState;
54
5155 extern const commands::CompositionMode kMozcEngineInitialCompositionMode;
5256
5357 struct MozcEngineToolProperty {
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 mozc (1.3.975.102) lucid; urgency=low
1
2 * Ver. 1.3.975.102 on 2012-01-24
3 * Fixed IME On/Off state change related issue.(Issue 113, Issue 114)
4 * Support Japanese misc keys on GUI keybinding editor dialog.
5 * Fixed the crash bug triggered by CommitFirstSuggestion command.
6
7 -- Seigo Nonaka <nona> Tue, 24 Jan 2012 20:34:28 +0900
8
09 mozc (1.3.931.102) lucid; urgency=low
110
211 * Ver. 1.3.931.102 on 2011-12-21
00 # -*- coding: utf-8 -*-
1 # Copyright 2010-2011, Google Inc.
1 # Copyright 2010-2012, Google Inc.
22 # All rights reserved.
33 #
44 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 // Copyright 2010-2011, Google Inc.
0 // Copyright 2010-2012, Google Inc.
11 // All rights reserved.
22 //
33 // Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without
0 # Copyright 2010-2011, Google Inc.
0 # Copyright 2010-2012, Google Inc.
11 # All rights reserved.
22 #
33 # Redistribution and use in source and binary forms, with or without