Hello community, here is the log from the commit of package palapeli for openSUSE:Factory checked in at 2018-11-13 16:55:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/palapeli (Old) and /work/SRC/openSUSE:Factory/.palapeli.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "palapeli" Tue Nov 13 16:55:33 2018 rev:78 rq:648132 version:18.08.3 Changes: -------- --- /work/SRC/openSUSE:Factory/palapeli/palapeli.changes 2018-10-17 08:39:30.681953155 +0200 +++ /work/SRC/openSUSE:Factory/.palapeli.new/palapeli.changes 2018-11-13 17:30:41.641193899 +0100 @@ -1,0 +2,12 @@ +Thu Nov 08 20:44:18 UTC 2018 - [email protected] + +- Update to 18.08.3 + * New bugfix release + * For more details please see: + * https://www.kde.org/announcements/announce-applications-18.08.3.php +- Changes since 18.08.2: + * Fix crash on startup + * Fix leak of the graphicsscene on the Puzzle preview + * Fix small memory leak + +------------------------------------------------------------------- Old: ---- palapeli-18.08.2.tar.xz New: ---- palapeli-18.08.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ palapeli.spec ++++++ --- /var/tmp/diff_new_pack.kU9YtN/_old 2018-11-13 17:30:42.137193218 +0100 +++ /var/tmp/diff_new_pack.kU9YtN/_new 2018-11-13 17:30:42.141193213 +0100 @@ -18,7 +18,7 @@ %bcond_without lang Name: palapeli -Version: 18.08.2 +Version: 18.08.3 Release: 0 %define kf5_version 5.26.0 # Latest stable Applications (e.g. 17.08 in KA, but 17.11.80 in KUA) ++++++ palapeli-18.08.2.tar.xz -> palapeli-18.08.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/po/zh_CN/palapeli.po new/palapeli-18.08.3/po/zh_CN/palapeli.po --- old/palapeli-18.08.2/po/zh_CN/palapeli.po 2018-10-09 02:24:48.000000000 +0200 +++ new/palapeli-18.08.3/po/zh_CN/palapeli.po 2018-11-06 01:17:00.000000000 +0100 @@ -3,8 +3,8 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2017-10-25 05:38+0200\n" -"PO-Revision-Date: 2018-09-28 19:53\n" -"Last-Translator: guoyunhe <[email protected]>\n" +"PO-Revision-Date: 2018-11-01 23:21\n" +"Last-Translator: guoyunhe <[email protected]>\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" @@ -29,85 +29,85 @@ #: libpala/slicerpropertyset.cpp:71 #, kde-format msgid "Piece count" -msgstr "" +msgstr "拼图块数" #: libpala/slicerpropertyset.cpp:75 #, kde-format msgid "Piece aspect ratio" -msgstr "" +msgstr "拼图块纵横比" #: slicers/goldberg/grid.h:39 #, kde-format msgctxt "Puzzle grid type" msgid "Predefined settings" -msgstr "" +msgstr "预设设置" #: slicers/goldberg/grid.h:46 #, kde-format msgctxt "Puzzle grid type" msgid "Cairo (pentagonal) grid" -msgstr "" +msgstr "开罗 (五边形) 网格" #: slicers/goldberg/grid.h:53 #, kde-format msgctxt "Puzzle grid type" msgid "Hexagonal grid" -msgstr "" +msgstr "六边形网格" #: slicers/goldberg/grid.h:60 #, kde-format msgctxt "Puzzle grid type" msgid "Rectangular grid" -msgstr "" +msgstr "矩形网格" #: slicers/goldberg/grid.h:67 #, kde-format msgctxt "Puzzle grid type" msgid "Rotrex (rhombi-trihexagonal) grid" -msgstr "" +msgstr "Rotrex (小斜方截半六边形镶嵌) 网格" #: slicers/goldberg/grid.h:74 #, kde-format msgctxt "Puzzle grid type" msgid "Irregular grid" -msgstr "" +msgstr "不规则网格" #: slicers/goldberg/slicer-goldberg.cpp:52 #, kde-format msgid "Approx. piece count" -msgstr "" +msgstr "大致拼图块数" #: slicers/goldberg/slicer-goldberg.cpp:58 #, kde-format msgid "Quick preset" -msgstr "" +msgstr "快速预设" #: slicers/goldberg/slicer-goldberg.cpp:60 #, kde-format msgctxt "Puzzle shape preset" msgid "Ordinary" -msgstr "" +msgstr "普通" #: slicers/goldberg/slicer-goldberg.cpp:61 #: slicers/goldberg/slicer-goldberg.cpp:137 #, kde-format msgctxt "Puzzle shape preset" msgid "Very regular" -msgstr "" +msgstr "非常规整" #: slicers/goldberg/slicer-goldberg.cpp:62 #: slicers/goldberg/slicer-goldberg.cpp:138 #, kde-format msgctxt "Puzzle shape preset" msgid "Very diverse" -msgstr "" +msgstr "非常多样" #: slicers/goldberg/slicer-goldberg.cpp:63 #: slicers/goldberg/slicer-goldberg.cpp:139 #, kde-format msgctxt "Puzzle shape preset" msgid "Large plugs" -msgstr "" +msgstr "大接头" #: slicers/goldberg/slicer-goldberg.cpp:70 #, kde-format @@ -117,37 +117,37 @@ #: slicers/goldberg/slicer-goldberg.cpp:77 #, kde-format msgid "Edge curviness" -msgstr "" +msgstr "边缘弯曲度" #: slicers/goldberg/slicer-goldberg.cpp:83 #, kde-format msgid "Plug size" -msgstr "" +msgstr "接头大小" #: slicers/goldberg/slicer-goldberg.cpp:90 #, kde-format msgid "Diversity of curviness" -msgstr "" +msgstr "曲线多样性" #: slicers/goldberg/slicer-goldberg.cpp:97 #, kde-format msgid "Diversity of plug position" -msgstr "" +msgstr "接头位置多样性" #: slicers/goldberg/slicer-goldberg.cpp:104 #, kde-format msgid "Diversity of plugs" -msgstr "" +msgstr "接头多样性" #: slicers/goldberg/slicer-goldberg.cpp:111 #, kde-format msgid "Diversity of piece size" -msgstr "" +msgstr "拼图大小多样性" #: slicers/goldberg/slicer-goldberg.cpp:120 #, kde-format msgid "Dump grid image" -msgstr "" +msgstr "导出网格图像" #: src/config/configdialog.cpp:73 #, kde-format @@ -157,7 +157,7 @@ #: src/config/configdialog.cpp:76 #, kde-format msgid "Mouse interaction" -msgstr "" +msgstr "鼠标交互" #: src/config/configdialog.cpp:123 #, kde-format @@ -192,19 +192,19 @@ #: src/config/mouseinputbutton.cpp:57 #, kde-format msgid "Remove this trigger" -msgstr "" +msgstr "删除此触发器" #: src/config/mouseinputbutton.cpp:131 src/config/mouseinputbutton.cpp:257 #, kde-format msgid "Input here..." -msgstr "" +msgstr "在此输入..." #: src/config/mouseinputbutton.cpp:132 #, kde-format msgid "" "Hold down the modifier keys you want, then click a mouse button or scroll a " "mouse wheel here" -msgstr "" +msgstr "按住您想要用的修饰键,随后在此点击或滚动鼠标" #: src/config/mouseinputbutton.cpp:230 #, kde-format @@ -217,38 +217,38 @@ #: src/config/mouseinputbutton.cpp:236 #, kde-format msgid "Click to change how an action is triggered" -msgstr "" +msgstr "点击可更改的动作的触发方式" #: src/config/triggerconfigwidget.cpp:32 #, kde-format msgid "Mouse buttons" -msgstr "" +msgstr "鼠标按钮" #: src/config/triggerconfigwidget.cpp:33 #, kde-format msgid "Mouse wheel" -msgstr "" +msgstr "鼠标滚轮" #: src/config/triggerlistview.cpp:27 #, kde-format msgid "Interaction with pieces" -msgstr "" +msgstr "与拼图互动" #: src/config/triggerlistview.cpp:29 #, kde-format msgid "Interaction with the puzzle table" -msgstr "" +msgstr "与拼图板互动" #: src/config/triggerlistview.cpp:31 #, kde-format msgid "Interaction with the viewport" -msgstr "" +msgstr "与视点互动" #: src/creator/puzzlecreator.cpp:50 #, kde-format msgctxt "@title:window" msgid "Create new puzzle" -msgstr "" +msgstr "创建新拼图" #: src/creator/puzzlecreator.cpp:56 #, kde-format @@ -260,118 +260,118 @@ #, kde-format msgctxt "@info" msgid "Please describe below the image which you have chosen." -msgstr "" +msgstr "请在下方描述您所选的图像。" #: src/creator/puzzlecreator.cpp:58 #, kde-format msgctxt "@label:textbox" msgid "Image name:" -msgstr "" +msgstr "图像名:" #: src/creator/puzzlecreator.cpp:59 #, kde-format msgctxt "@label:textbox (like in: This comment is optional.)" msgid "Optional comment:" -msgstr "" +msgstr "可选注释:" #: src/creator/puzzlecreator.cpp:60 #, kde-format msgctxt "@label:textbox" msgid "Name of image author:" -msgstr "" +msgstr "图像作者名字:" #: src/creator/puzzlecreator.cpp:67 #, kde-format msgctxt "@item:inlistbox (page name in an assistant dialog)" msgid "Choose image" -msgstr "" +msgstr "选择图像" #: src/creator/puzzlecreator.cpp:68 #, kde-format msgctxt "@title:tab (page header in an assistant dialog)" msgid "Specify the source image to be sliced into pieces" -msgstr "" +msgstr "指定要切分为拼块的来源图像" #: src/creator/puzzlecreator.cpp:70 #, kde-format msgctxt "@item:inlistbox (page name in an assistant dialog)" msgid "Choose slicer" -msgstr "" +msgstr "选择切分器" #: src/creator/puzzlecreator.cpp:71 #, kde-format msgctxt "@title:tab (page header in an assistant dialog)" msgid "Choose a slicing method" -msgstr "" +msgstr "选择切分方式" #: src/creator/puzzlecreator.cpp:72 #, kde-format msgctxt "@item:inlistbox (page name in an assistant dialog)" msgid "Configure slicer" -msgstr "" +msgstr "配置切分器" #: src/creator/puzzlecreator.cpp:73 #, kde-format msgctxt "@title:tab (page header in an assistant dialog)" msgid "Tweak the parameters of the chosen slicing method" -msgstr "" +msgstr "微调所选切分方式的参数" #: src/creator/puzzlecreator.cpp:116 #, kde-format msgid "Puzzle cannot be created: The slicer plugin could not be loaded." -msgstr "" +msgstr "无法创建拼图:无法装入切分器插件。" #: src/creator/puzzlecreator.cpp:123 #, kde-format msgid "Puzzle cannot be created: The file you selected is not an image." -msgstr "" +msgstr "无法创建拼图:您所选择的文件不是图像。" #: src/creator/puzzlecreator.cpp:131 #, kde-format msgid "" "Puzzle cannot be created: Slicing failed because of undetermined problems." -msgstr "" +msgstr "无法创建拼图:因无法判断的问题而切分失败。" #: src/engine/constraintinteractor.cpp:27 #, kde-format msgid "Change size of puzzle table area by dragging its edges" -msgstr "" +msgstr "拖动解谜板的边框可改变其区域的大小" #: src/engine/gameplay.cpp:193 src/engine/gameplay.cpp:1139 #, kde-format msgid "You have finished the puzzle. Do you want to restart it now?" -msgstr "" +msgstr "您上次已经完成了拼图。您现在想要重新开始吗?" #: src/engine/gameplay.cpp:307 #, kde-format msgid "The following puzzles will be deleted. This action cannot be undone." -msgstr "" +msgstr "以下拼图将被删除,此操作无法撤销。" #: src/engine/gameplay.cpp:326 src/engine/gameplay.cpp:352 #, kde-format msgctxt "Filter for a file dialog" msgid "Palapeli puzzles (*.puzzle)" -msgstr "" +msgstr "Palapeli 拼图 (*.puzzle)" #: src/engine/gameplay.cpp:328 #, kde-format msgid "Import Palapeli puzzles" -msgstr "" +msgstr "导入 Palapeli 拼图" #: src/engine/gameplay.cpp:354 #, kde-format msgid "Save Palapeli puzzles" -msgstr "" +msgstr "保存 Palapeli 拼图" #: src/engine/gameplay.cpp:369 #, kde-format msgid "Create a piece holder" -msgstr "" +msgstr "创建暂存区" #: src/engine/gameplay.cpp:370 #, kde-format msgid "Enter a short name (optional):" -msgstr "" +msgstr "输入短名称 (可选):" #: src/engine/gameplay.cpp:418 #, kde-format @@ -379,24 +379,25 @@ "You need to click on a piece holder to select it before you can delete it, " "or you can just click on its Close button." msgstr "" +"在您删除它之前,您需要点击一个暂存区来选中它,或者您也可以点击关闭按钮。" #: src/engine/gameplay.cpp:437 #, kde-format msgid "The selected piece holder must be empty before you can delete it." -msgstr "" +msgstr "在删除选中的暂存区之前,它必须被清空。" #: src/engine/gameplay.cpp:456 #, kde-format msgid "" "The selected piece holder must contain some pieces for 'Select all' to use." -msgstr "" +msgstr "选中的暂存区需要有一些拼片才能被“选择所有”所选中。" #: src/engine/gameplay.cpp:462 #, kde-format msgid "" "You need to click on a piece holder to select it before you can select all " "the pieces in it." -msgstr "" +msgstr "在选择其中的所有拼图片之前,您需要先点击一个暂存区来选中它。" #: src/engine/gameplay.cpp:482 #, kde-format @@ -404,13 +405,15 @@ "To rearrange pieces, either the puzzle table must have some selected pieces " "or there must be a selected holder with some selected pieces in it." msgstr "" +"要重新排列拼图片,您需要在拼图板上选择一些拼图片,或者在一个选中的暂存区中选" +"中一些拼图片。" #: src/engine/gameplay.cpp:544 #, kde-format msgid "" "You need to have a piece holder and click it to select it before you can " "transfer pieces into or out of it." -msgstr "" +msgstr "要将拼图片移入或移出,您需要先点击一个暂存区来选中它。" #: src/engine/gameplay.cpp:564 #, kde-format @@ -418,6 +421,7 @@ "You have selected to transfer a large piece containing more than six small " "pieces to a holder. Do you really wish to do that?" msgstr "" +"您选择了将包括超过六片拼图片的一大片拼图移动到一个暂存区。您真的想那么做吗?" #: src/engine/gameplay.cpp:586 #, kde-format @@ -425,6 +429,8 @@ "You need to select one or more pieces to be transferred out of the selected " "holder or select pieces from the puzzle table to be transferred into it." msgstr "" +"您需要选择一个或多个拼图片来从选中的暂存区中转移出来,或者选中拼图板中的一些" +"拼图片来将它们转移到暂存区中。" #: src/engine/gameplay.cpp:604 #, kde-format @@ -432,6 +438,7 @@ "You need to select one or more pieces to be transferred from the previous " "holder into the newly selected holder." msgstr "" +"您需要选择一个或多个拼图片才能将它们从前一个暂存区中转移到新选择的暂存区中。" #: src/engine/gameplay.cpp:612 #, kde-format @@ -501,95 +508,95 @@ #, kde-format msgctxt "Caption for hints" msgid "Solving Large Puzzles" -msgstr "" +msgstr "解决大型拼图" #: src/engine/gameplay.cpp:1197 #, kde-format msgid "Great! You have finished the puzzle." -msgstr "" +msgstr "太棒了!您完成了拼图。" #: src/engine/interactors.cpp:37 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Move pieces by dragging" -msgstr "" +msgstr "用拖曳来移动拼图片" #: src/engine/interactors.cpp:152 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Select pieces by clicking" -msgstr "" +msgstr "点击可选择拼图片" #: src/engine/interactors.cpp:188 #, kde-format msgctxt "Works instantly, without dragging" msgid "Teleport pieces to or from a holder" -msgstr "" +msgstr "将拼片传送进或出一个暂存区。" #: src/engine/interactors.cpp:213 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Move viewport by dragging" -msgstr "" +msgstr "用拖曳来移动视点" #: src/engine/interactors.cpp:239 #, kde-format msgctxt "As in a movie scene" msgid "Switch to close-up or distant view" -msgstr "" +msgstr "切换到近景或远景" #: src/engine/interactors.cpp:258 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Zoom viewport" -msgstr "" +msgstr "缩放视点" #: src/engine/interactors.cpp:277 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Scroll viewport horizontally" -msgstr "" +msgstr "水平滚动视点" #: src/engine/interactors.cpp:279 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Scroll viewport vertically" -msgstr "" +msgstr "垂直滚动视点" #: src/engine/interactors.cpp:358 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Select multiple pieces at once" -msgstr "" +msgstr "一次选择多个拼图片" #: src/engine/interactors.cpp:422 #, kde-format msgctxt "Description (used like a name) for a mouse interaction method" msgid "Toggle lock state of the puzzle table area" -msgstr "" +msgstr "切换解谜板锁定状态" #: src/engine/puzzlepreview.cpp:41 #, kde-format msgctxt "Window title" msgid "Preview of completed puzzle" -msgstr "" +msgstr "预览完成的拼图" #: src/engine/puzzlepreview.cpp:48 #, kde-format msgctxt "text in preview window" msgid "Image is not available." -msgstr "" +msgstr "图像不可用。" #: src/engine/puzzlepreview.cpp:76 #, kde-format msgid "%1 - Preview" -msgstr "" +msgstr "%1 - 预览" #: src/engine/texturehelper.cpp:64 #, kde-format msgctxt "@item:inlistbox" msgid "Single color" -msgstr "" +msgstr "单色" #: src/engine/trigger.cpp:99 #, kde-format @@ -619,13 +626,13 @@ #, kde-format msgctxt "a special keyboard modifier" msgid "GroupSwitch" -msgstr "" +msgstr "分组切换" #: src/engine/trigger.cpp:104 #, kde-format msgctxt "refers to no mouse buttons being pressed" msgid "No-Button" -msgstr "" +msgstr "无按键" #: src/engine/trigger.cpp:107 #, kde-format @@ -649,13 +656,13 @@ #, kde-format msgctxt "a special mouse button" msgid "XButton1" -msgstr "" +msgstr "特殊键 1" #: src/engine/trigger.cpp:111 #, kde-format msgctxt "a special mouse button" msgid "XButton2" -msgstr "" +msgstr "特殊键 2" #: src/engine/trigger.cpp:112 #, kde-format @@ -670,18 +677,18 @@ #: src/engine/view.cpp:349 #, kde-format msgid "Your progress is saved automatically while you play." -msgstr "" +msgstr "您的进度会在游戏时自动保存。" #: src/engine/view.cpp:349 #, kde-format msgctxt "used as caption for a dialog that explains the autosave feature" msgid "Automatic saving" -msgstr "" +msgstr "自动保存" #: src/engine/zoomwidget.cpp:38 #, kde-format msgid "Lock the puzzle table area" -msgstr "" +msgstr "锁定拼图板区域" #: src/file-io/collection-delegate.cpp:118 #, kde-format @@ -693,7 +700,7 @@ msgctxt "Puzzle description, %2 = name string, %1 = piece count" msgid "%2 (%1 piece)" msgid_plural "%2 (%1 pieces)" -msgstr[0] "" +msgstr[0] "%2 (%1块)" #: src/file-io/collection-delegate.cpp:144 #, kde-format @@ -705,51 +712,51 @@ #, kde-format msgctxt "@action:button that pops up sorting strategy selection menu" msgid "Sort list..." -msgstr "" +msgstr "排序列表..." #: src/file-io/collection-view.cpp:72 #, kde-format msgctxt "@action:inmenu selects sorting strategy for collection list" msgid "By title" -msgstr "" +msgstr "根据标题" #: src/file-io/collection-view.cpp:73 #, kde-format msgctxt "@action:inmenu selects sorting strategy for collection list" msgid "By piece count" -msgstr "" +msgstr "按拼图块数" #: src/file-io/collection.cpp:47 #, kde-format msgid "Loading puzzle..." -msgstr "" +msgstr "正在装入拼图..." #: src/importhelper.cpp:41 #, kde-format msgctxt "command line message" msgid "Error: No puzzle file given." -msgstr "" +msgstr "错误:未给定拼图文件。" #: src/importhelper.cpp:52 #, kde-format msgid "Importing puzzle \"%1\" into your collection" -msgstr "" +msgstr "正在将拼图“%1”导入到您的收藏" #: src/main.cpp:39 #, kde-format msgctxt "The application's name" msgid "Palapeli" -msgstr "" +msgstr "Palapeli" #: src/main.cpp:39 #, kde-format msgid "KDE Jigsaw Puzzle Game" -msgstr "" +msgstr "KDE 拼图板游戏" #: src/main.cpp:39 #, kde-format msgid "Copyright 2009, 2010, Stefan Majewsky" -msgstr "" +msgstr "版权所有 2009,2010,Stefan Majewsky" #: src/main.cpp:40 #, kde-format @@ -759,17 +766,17 @@ #: src/main.cpp:41 #, kde-format msgid "Johannes Loehnert" -msgstr "" +msgstr "Johannes Loehnert" #: src/main.cpp:42 #, kde-format msgid "The option to preview the completed puzzle" -msgstr "" +msgstr "预览完成的拼图的选项" #: src/main.cpp:47 #, kde-format msgid "Path to puzzle file (will be opened if -i is not given)" -msgstr "" +msgstr "拼图文件的路径(未给定 -i 时打开)" #: src/main.cpp:48 #, kde-format @@ -783,7 +790,7 @@ #: src/palapeli.kcfg:6 #, kde-format msgid "Precision of snapping (as a percentage of piece size)." -msgstr "" +msgstr "吸附时的精确度 (相对于拼图片大小的百分比)。" #. i18n: ectx: label, entry (ViewBackground), group (Appearance) #: src/palapeli.kcfg:12 @@ -792,6 +799,7 @@ "The filename of the background image to use for the View, or \"__color__\" " "if a solid color should be used (see key \"ViewBackgroundColor\")." msgstr "" +"视图背景图像的文件名。也可用“__color__”指定使用纯色(参考“视图背景颜色”)。" #. i18n: ectx: label, entry (ViewBackgroundColor), group (Appearance) #: src/palapeli.kcfg:16 @@ -799,13 +807,13 @@ msgid "" "The background color to use for the View (if the key \"ViewBackground\" is " "set to \"__color__\")." -msgstr "" +msgstr "视图背景图像(“视图背景”为“__color__”时有效)。" #. i18n: ectx: label, entry (ViewHighlightColor), group (Appearance) #: src/palapeli.kcfg:20 #, kde-format msgid "The highlighting color to use for selecting pieces in the View." -msgstr "" +msgstr "在视图中选中拼图片时使用的高亮颜色。" #. i18n: ectx: label, entry (SolutionArea), group (Appearance) #: src/palapeli.kcfg:24 @@ -829,7 +837,7 @@ msgid "" "Whether to show the status bar on the puzzle table. (It is not a real status " "bar, but the position and provided functionality is similar.)" -msgstr "" +msgstr "是否在拼图板上显示状态栏。(不是真正的状态栏,但位置和功能类似)" #. i18n: ectx: label, entry (PieceShadowsEnabled), group (Appearance) #: src/palapeli.kcfg:36 @@ -837,7 +845,7 @@ msgid "" "Whether to render shadows below the puzzle pieces. Turning this off might " "improve rendering performance." -msgstr "" +msgstr "是否在拼片下面渲染阴影。关闭此项可能会提高渲染性能。" #. i18n: ectx: label, entry (PieceBevelsEnabled), group (Appearance) #: src/palapeli.kcfg:40 @@ -845,32 +853,32 @@ msgid "" "Whether to render bevels on the puzzle pieces. Turning this off might " "improve puzzle loading performance." -msgstr "" +msgstr "是否在拼片上渲染斜角。关闭此项可能会提高拼图载入性能。" #. i18n: ectx: label, entry (PuzzlePreviewVisible), group (PuzzlePreview) #: src/palapeli.kcfg:46 #, kde-format msgid "Whether the preview window was switched on last time Palapeli was run." -msgstr "" +msgstr "上次 Palapeli 运行时预览窗口是否打开。" #. i18n: ectx: label, entry (PuzzlePreviewGeometry), group (PuzzlePreview) #: src/palapeli.kcfg:50 #, kde-format msgid "Last position and size of puzzle preview." -msgstr "" +msgstr "拼图预览的最后位置与大小。" #. i18n: ectx: ToolBar (mainToolBar) #: src/palapeliui.rc:35 #, kde-format msgid "Main toolbar" -msgstr "" +msgstr "主工具栏" #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #: src/settings.ui:17 #, kde-format msgctxt "@title:group" msgid "Puzzle table" -msgstr "" +msgstr "拼图板" #. i18n: ectx: property (text), widget (QLabel, label_3) #: src/settings.ui:25 @@ -883,7 +891,7 @@ #: src/settings.ui:55 #, kde-format msgid "Color for highlighting selected pieces:" -msgstr "" +msgstr "选中拼片的高亮颜色:" #. i18n: ectx: property (text), widget (QLabel, label_5) #: src/settings.ui:75 @@ -909,19 +917,19 @@ #: src/settings.ui:156 #, kde-format msgid "Piece appearance" -msgstr "" +msgstr "拼图块外观" #. i18n: ectx: property (text), widget (QCheckBox, kcfg_PieceBevelsEnabled) #: src/settings.ui:162 #, kde-format msgid "Draw bevels to create a 3-dimensional appearance" -msgstr "" +msgstr "绘制三维外观的斜角效果" #. i18n: ectx: property (text), widget (QCheckBox, kcfg_PieceShadowsEnabled) #: src/settings.ui:172 #, kde-format msgid "Draw shadows below pieces" -msgstr "" +msgstr "拼块下绘制阴影" #. i18n: ectx: property (text), widget (QLabel, label_4) #: src/settings.ui:182 @@ -930,141 +938,142 @@ "These options can be disabled when Palapeli is running very slowly. Changes " "will take effect only when a new puzzle is started." msgstr "" +"您可以在 Palapeli 运行非常迟缓时禁用这些选项。这些更改仅在开启新拼图时生效。" #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #: src/settings.ui:195 #, kde-format msgctxt "@title:group" msgid "Piece behavior" -msgstr "" +msgstr "拼图块行为" #. i18n: ectx: property (text), widget (QLabel, label_1) #: src/settings.ui:201 #, kde-format msgctxt "@label:slider" msgid "Snapping precision:" -msgstr "" +msgstr "吸附精度:" #. i18n: ectx: property (text), widget (QLabel, label) #: src/settings.ui:241 #, kde-format msgctxt "@item:inrange description for the \"snapping precision\" setting" msgid "Very precise (harder)" -msgstr "" +msgstr "非常精确(困难)" #. i18n: ectx: property (text), widget (QLabel, label_2) #: src/settings.ui:270 #, kde-format msgctxt "@item:inrange description for the \"snapping precision\" setting" msgid "Unprecise (easier)" -msgstr "" +msgstr "不精确(简单)" #: src/window/mainwindow.cpp:63 #, kde-format msgid "Show statusbar of puzzle table" -msgstr "" +msgstr "显示拼图板的状态栏" #: src/window/mainwindow.cpp:66 #, kde-format msgid "Back to &collection" -msgstr "" +msgstr "返回到我的收藏 (&C)" #: src/window/mainwindow.cpp:67 #, kde-format msgid "Go back to the collection to choose another puzzle" -msgstr "" +msgstr "回到收藏选择其它拼图" #: src/window/mainwindow.cpp:73 #, kde-format msgid "Create &new puzzle..." -msgstr "" +msgstr "创建新拼图 (&N)..." #: src/window/mainwindow.cpp:74 #, kde-format msgid "Create a new puzzle using an image file from your disk" -msgstr "" +msgstr "使用您磁盘上的图像文件创建新拼图" #: src/window/mainwindow.cpp:80 #, kde-format msgid "&Delete puzzle" -msgstr "" +msgstr "删除拼图 (&D)" #: src/window/mainwindow.cpp:82 #, kde-format msgid "Delete the selected puzzle from your collection" -msgstr "" +msgstr "从您的收藏中删除选中的拼图" #: src/window/mainwindow.cpp:88 #, kde-format msgid "&Import from file..." -msgstr "" +msgstr "从文件导入 (&I)..." #: src/window/mainwindow.cpp:89 #, kde-format msgid "Import a new puzzle from a file into your collection" -msgstr "" +msgstr "将新拼图从文件导入到您的收藏" #: src/window/mainwindow.cpp:94 #, kde-format msgid "&Export to file..." -msgstr "" +msgstr "导出至文件 (&E)..." #: src/window/mainwindow.cpp:96 #, kde-format msgid "Export the selected puzzle from your collection into a file" -msgstr "" +msgstr "将选中的拼图从您的收藏导出到文件" #: src/window/mainwindow.cpp:102 #, kde-format msgid "&Restart puzzle..." -msgstr "" +msgstr "重新拼图 (&R)..." #: src/window/mainwindow.cpp:103 #, kde-format msgid "Delete the saved progress and reshuffle the pieces" -msgstr "" +msgstr "删除已保存的进度并打乱拼图片" #: src/window/mainwindow.cpp:110 #, kde-format msgid "&Create piece holder..." -msgstr "" +msgstr "创建暂存区 (&C)..." #: src/window/mainwindow.cpp:111 #, kde-format msgid "Create a temporary holder for sorting pieces" -msgstr "" +msgstr "建立一个用于给拼片分类的暂时放置区域" #: src/window/mainwindow.cpp:117 #, kde-format msgid "&Delete piece holder" -msgstr "" +msgstr "删除暂存区 (&D)" #: src/window/mainwindow.cpp:118 #, kde-format msgid "Delete a selected temporary holder when it is empty" -msgstr "" +msgstr "在其为空时删除选中的暂时存储区域" #: src/window/mainwindow.cpp:124 #, kde-format msgid "&Select all in holder" -msgstr "" +msgstr "选中暂存区中的所有拼片 (&S)" #: src/window/mainwindow.cpp:125 #, kde-format msgid "Select all pieces in a selected piece holder" -msgstr "" +msgstr "选中当前暂存区中的所有拼片" #: src/window/mainwindow.cpp:131 #, kde-format msgid "&Rearrange pieces" -msgstr "" +msgstr "重新排列拼图 (&R)" #: src/window/mainwindow.cpp:132 #, kde-format msgid "" "Rearrange all pieces in a selected piece holder or selected pieces in any " "window" -msgstr "" +msgstr "重新排列选中暂存区中的所有拼片或者任何窗口中的选中拼片" #: src/window/mainwindow.cpp:139 #, kde-format @@ -1081,7 +1090,7 @@ #: src/window/mainwindow.cpp:142 #, kde-format msgid "Show or hide the image of the completed puzzle" -msgstr "" +msgstr "显示或隐藏完整拼图的图像" #: src/window/mainwindow.cpp:156 src/window/mainwindow.cpp:165 #, kde-format @@ -1091,15 +1100,15 @@ #: src/window/puzzletablewidget.cpp:59 #, kde-format msgid "No puzzle loaded" -msgstr "" +msgstr "未装入拼图" #: src/window/puzzletablewidget.cpp:128 #, kde-format msgid "You finished the puzzle." -msgstr "" +msgstr "您完成了拼图。" #: src/window/puzzletablewidget.cpp:132 #, kde-format msgctxt "Progress display" msgid "%1% finished" -msgstr "" +msgstr "已完成 %1%" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/engine/puzzlepreview.cpp new/palapeli-18.08.3/src/engine/puzzlepreview.cpp --- old/palapeli-18.08.2/src/engine/puzzlepreview.cpp 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/engine/puzzlepreview.cpp 2018-11-03 06:51:24.000000000 +0100 @@ -36,7 +36,7 @@ m_isZoomed = false; m_mousePos = QPoint(); - setScene(new QGraphicsScene()); + setScene(new QGraphicsScene(this)); setParent(parent); setWindowTitle(i18nc("Window title", "Preview of completed puzzle")); setWindowFlags(Qt::Tool | Qt::WindowTitleHint); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/file-io/collection.cpp new/palapeli-18.08.3/src/file-io/collection.cpp --- old/palapeli-18.08.2/src/file-io/collection.cpp 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/file-io/collection.cpp 2018-11-03 06:51:24.000000000 +0100 @@ -129,7 +129,7 @@ //construct puzzle with CollectionStorageComponent if (!path.isEmpty() && (desktopPath.isEmpty() || QFileInfo(path).lastModified() >= QFileInfo(desktopPath).lastModified())) { - Palapeli::Puzzle* puzzle = new Palapeli::Puzzle(new Palapeli::CollectionStorageComponent(puzzleGroup), path, puzzleId); + Palapeli::Puzzle* puzzle = new Palapeli::Puzzle(new Palapeli::CollectionStorageComponent(puzzleGroup, &m_configMutex), path, puzzleId); appendRow(new Item(puzzle)); continue; } @@ -176,9 +176,11 @@ puzzle->get(Palapeli::PuzzleComponent::ArchiveStorage).waitForFinished(); //create the config group for this puzzle (use pseudo-URL to avoid problems //when the configuration directory is moved) + m_configMutex.lock(); KConfigGroup puzzleGroup(m_group, id); puzzleGroup.writeEntry("Location", palapeliUrl); m_config->sync(); + m_configMutex.unlock(); //add to the model appendRow(new Item(puzzle)); } @@ -217,8 +219,10 @@ if (!QFile(puzzle->location()).remove()) return false; //remove puzzle from config + m_configMutex.lock(); KConfigGroup(m_group, puzzle->identifier()).deleteGroup(); m_config->sync(); + m_configMutex.unlock(); //remove puzzle from model and delete it const int count = rowCount(); for (int row = 0; row < count; ++row) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/file-io/collection.h new/palapeli-18.08.3/src/file-io/collection.h --- old/palapeli-18.08.2/src/file-io/collection.h 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/file-io/collection.h 2018-11-03 06:51:24.000000000 +0100 @@ -20,6 +20,8 @@ #define PALAPELI_COLLECTION_H #include <QStandardItemModel> +#include <QMutex> + class KConfig; class KConfigGroup; @@ -56,6 +58,7 @@ KConfig* m_config; KConfigGroup* m_group; + QMutex m_configMutex; }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/file-io/components-collectionstorage.cpp new/palapeli-18.08.3/src/file-io/components-collectionstorage.cpp --- old/palapeli-18.08.2/src/file-io/components-collectionstorage.cpp 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/file-io/components-collectionstorage.cpp 2018-11-03 06:51:24.000000000 +0100 @@ -21,9 +21,10 @@ #include <QtCore/QBuffer> #include <QtCore/QFileInfo> #include <KConfigGroup> +#include <QThread> -Palapeli::CollectionStorageComponent::CollectionStorageComponent(KConfigGroup* group) - : m_group(group) +Palapeli::CollectionStorageComponent::CollectionStorageComponent(KConfigGroup* group, QMutex *groupMutex) + : m_group(group), m_groupMutex(groupMutex) { } @@ -45,6 +46,7 @@ } //try to serve metadata from cache const QDateTime mtime = QFileInfo(file).lastModified(); + m_groupMutex->lock(); if (m_group->readEntry("ModifyDateTime", QDateTime()) == mtime) { //cache is up-to-date @@ -55,10 +57,12 @@ metadata.pieceCount = m_group->readEntry("PieceCount", 0); metadata.modifyProtection = m_group->readEntry("ModifyProtection", false); metadata.thumbnail.loadFromData(m_group->readEntry("Thumbnail", QByteArray())); + m_groupMutex->unlock(); return new Palapeli::MetadataComponent(metadata); } else { + m_groupMutex->unlock(); //read metadata from archive... const Palapeli::PuzzleComponent* arStorage = puzzle()->get(ArchiveStorage); if (!arStorage) @@ -69,16 +73,18 @@ //...and populate cache (image is written via a buffer //because KConfig does not support QImage directly) const Palapeli::PuzzleMetadata metadata = dynamic_cast<Palapeli::MetadataComponent*>(cMetadata)->metadata; + QBuffer buffer; + metadata.thumbnail.save(&buffer, "PNG"); + m_groupMutex->lock(); m_group->writeEntry("Name", metadata.name); m_group->writeEntry("Comment", metadata.comment); m_group->writeEntry("Author", metadata.author); m_group->writeEntry("PieceCount", metadata.pieceCount); m_group->writeEntry("ModifyProtection", metadata.modifyProtection); m_group->writeEntry("ModifyDateTime", mtime); - QBuffer buffer; - metadata.thumbnail.save(&buffer, "PNG"); m_group->writeEntry("Thumbnail", buffer.data()); m_group->sync(); + m_groupMutex->unlock(); return cMetadata; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/file-io/components.h new/palapeli-18.08.3/src/file-io/components.h --- old/palapeli-18.08.2/src/file-io/components.h 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/file-io/components.h 2018-11-03 06:51:24.000000000 +0100 @@ -106,12 +106,13 @@ COMPONENT_SUBCLASS(CollectionStorage) public: ///Takes ownership of @a group. - CollectionStorageComponent(KConfigGroup* group); + CollectionStorageComponent(KConfigGroup* group, QMutex *groupMutex); virtual ~CollectionStorageComponent(); Palapeli::PuzzleComponent* cast(Type type) const Q_DECL_OVERRIDE; private: KConfigGroup* m_group; + QMutex *m_groupMutex; }; ///This is used by the collection if, instead of an actual puzzle archive, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/org.kde.palapeli.appdata.xml new/palapeli-18.08.3/src/org.kde.palapeli.appdata.xml --- old/palapeli-18.08.2/src/org.kde.palapeli.appdata.xml 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/org.kde.palapeli.appdata.xml 2018-11-03 06:51:24.000000000 +0100 @@ -30,6 +30,7 @@ <name xml:lang="sv">Palapeli</name> <name xml:lang="uk">Palapeli</name> <name xml:lang="x-test">xxPalapelixx</name> + <name xml:lang="zh-CN">Palapeli</name> <summary>Jigsaw puzzle game</summary> <summary xml:lang="ca">Joc de trencaclosques</summary> <summary xml:lang="ca-valencia">Joc de trencaclosques</summary> @@ -55,6 +56,7 @@ <summary xml:lang="sv">Pusselspel</summary> <summary xml:lang="uk">Гра у складанку</summary> <summary xml:lang="x-test">xxJigsaw puzzle gamexx</summary> + <summary xml:lang="zh-CN">拼图游戏</summary> <description> <p> Palapeli is a single-player jigsaw puzzle game. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/palapeli-18.08.2/src/window/loadingwidget.cpp new/palapeli-18.08.3/src/window/loadingwidget.cpp --- old/palapeli-18.08.2/src/window/loadingwidget.cpp 2018-09-22 08:00:53.000000000 +0200 +++ new/palapeli-18.08.3/src/window/loadingwidget.cpp 2018-11-03 06:51:24.000000000 +0100 @@ -25,7 +25,7 @@ Palapeli::LoadingWidget::LoadingWidget(QWidget* parent) : QWidget(parent) - , m_updateTimer(new QTimer) + , m_updateTimer(new QTimer(this)) , m_angleDegrees(0) { setMinimumSize(QSize(64, 64));
