OSDN Git Service

1.2.1 master 1.2.1
authorhrwatahiki <hrwatahiki@44a3fe10-d6a8-4042-99bc-5bf971f0e03b>
Wed, 12 Aug 2020 07:04:10 +0000 (07:04 +0000)
committerhrwatahiki <hrwatahiki@44a3fe10-d6a8-4042-99bc-5bf971f0e03b>
Wed, 12 Aug 2020 07:04:10 +0000 (07:04 +0000)
git-svn-id: https://svn.osdn.net/svnroot/pydun/trunk@56 44a3fe10-d6a8-4042-99bc-5bf971f0e03b

LICENSE/LICENSE.txt
Pydun.ini
Pydun.py
help/index.html
makeexe_separeted.bat
pydun.spec

index c9e3cda..691d610 100644 (file)
@@ -2,7 +2,7 @@ pydun.py はMIT Licenseです。要約すると、自由に使っていいです
 \r
 ライセンス本文\r
 --------------------------------------------------------------------------------\r
-Copyright (c) 2013-2019 WATAHIKI Hiroyuki\r
+Copyright (c) 2013-2020 WATAHIKI Hiroyuki\r
 \r
 Permission is hereby granted, free of charge, to any person obtaining a copy of\r
 this software and associated documentation files (the "Software"), to deal in\r
@@ -26,24 +26,24 @@ SOFTWARE.
 \r
 pydun.exeは以下のソフトウェアを改変せずに使用しています。\r
 \r
-Python 3.7.3\r
-Copyright 1990-2019, Python Software Foundation.\r
+Python 3.8.1\r
+Copyright 2001-2019, Python Software Foundation.\r
 https://www.python.org/\r
 License: PSF (LICENSE_Python.txt)\r
 \r
-Qt for Python(PySide2) 5.12.3\r
+Qt for Python(PySide2) 5.14.1\r
 Author: Qt for Python Team\r
 https://wiki.qt.io/Qt_for_Python\r
 License: LGPL version 3.0 (LICENSE_PySide2.txt)\r
 \r
-PyYAML 5.1\r
+PyYAML 5.3.1\r
 Author: Ingy döt Net, Kirill Simonov\r
 https://pyyaml.org/\r
 License: MIT (LICENSE_PyYAML.txt)\r
 \r
 また、pydun.exeの実行ファイル作成には以下のソフトウェアを使用しています。\r
 \r
-pyinstaller v3.4\r
+pyinstaller v3.6\r
 http://www.pyinstaller.org/\r
 \r
 \r
index 7d449b2..d522d5a 100644 (file)
--- a/Pydun.ini
+++ b/Pydun.ini
@@ -29,7 +29,7 @@ URL=
 NoSaveInstallPath=0\r
 FailIfPathRegNotExist=0\r
 OnlyAdmin=0\r
-DenyUsers=0\r
+DenyUsers=1\r
 NoCRCCheck=0\r
 BootOSCheck=0\r
 BootableOS=0\r
@@ -77,15 +77,27 @@ SavePath_RootKey=0
 SavePathKey=Software\EXEpress Programs\r
 SavePathValue=InstallPath\r
 StartMenuToCommon=1\r
-UseStartMenu=0\r
-StartMenuGroup=EXEpress Project\r
+UseStartMenu=1\r
+StartMenuGroup=Pydun\r
 StartMenuGroupE=\r
-UseUnInstall=0\r
-UseEXEpressUninstaller=0\r
+StartMenu0_Title=Pydun\r
+StartMenu0_TitleE=\r
+StartMenu0_File=pydun\pydun.exe\r
+StartMenu0_Args=\r
+StartMenu0_Comment=\r
+StartMenu0_CommentE=\r
+StartMenu0_Icon=\r
+StartMenu0_CreateOnQuickLaunch=0\r
+StartMenu0_CreateOnDesktop=0\r
+StartMenu0_CreateOnStartup=0\r
+StartMenu0_CreateOnStartRoot=0\r
+StartMenu0_NoCreateInGroup=0\r
+UseUnInstall=1\r
+UseEXEpressUninstaller=1\r
 UseEXEpressUninstallerFolder=\r
-UnInstallTitle=EXEpress Project\r
+UnInstallTitle=Pydun\r
 UnInstallTitleE=\r
-UnInstallKey=EXEpress Project\r
+UnInstallKey=Pydun\r
 UnInstallFile=\r
 UnInstallArgs=\r
 UninstIconFile=\r
index 0bf3e0f..61f9f4f 100644 (file)
--- a/Pydun.py
+++ b/Pydun.py
@@ -25,7 +25,7 @@ _undomanager = None
 \r
 projecturl = "http://ja.osdn.net/projects/pydun/"\r
 projectrssurl = "http://ja.osdn.net/projects/pydun/releases/rss"\r
-projectversion = "1.2.0"\r
+projectversion = "1.2.1"\r
 defaultfontname = "Yu Gothic UI"\r
 \r
 class MainWindow(QtWidgets.QMainWindow):\r
@@ -439,9 +439,10 @@ class MainFrame(QtWidgets.QFrame):
         #座標設定モード\r
         if self.mapframe.setoriginemode:\r
             dlg = SetOrigineDialog(self)\r
-            dlg.setcurrent(_mapengine.viewx(x1), _mapengine.viewy(y1))\r
+            dlg.setcurrent(_mapengine.viewx(x1), _mapengine.viewy(y1), _mapengine.signx, _mapengine.signy)\r
             dlg.exec_() #showでは処理がとまらない。\r
             if dlg.result() == QtWidgets.QDialog.Accepted:\r
+                _mapengine.setsign(dlg.signx, dlg.signy)\r
                 _mapengine.setoffset(\r
                     dlg.originex - _mapengine.viewx(x1) + _mapengine.offsetx,\r
                     dlg.originey - _mapengine.viewy(y1) + _mapengine.offsety\r
@@ -779,7 +780,7 @@ class SetOrigineDialog(QtWidgets.QDialog):
         promptlabel = QtWidgets.QLabel(self)\r
         promptlabel.setAlignment(\r
             QtCore.Qt.AlignVCenter | QtCore.Qt.AlignLeft)\r
-        promptlabel.setText("この地点の座標を入力してください。")\r
+        promptlabel.setText("ã\81\93ã\81®å\9c°ç\82¹ã\81®åº§æ¨\99ã\81¨è»¸ã\81®æ\96¹å\90\91ã\82\92å\85¥å\8a\9bã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82")\r
 \r
         self.currentlabel = QtWidgets.QLabel(self)\r
         self.currentlabel.setAlignment(\r
@@ -807,6 +808,23 @@ class SetOrigineDialog(QtWidgets.QDialog):
         self.ybox.setValue(0)\r
         ylabel.setBuddy(self.ybox)\r
 \r
+        self.xplusbutton = QtWidgets.QRadioButton(self)\r
+        self.xplusbutton.setText("右が正(&R)")\r
+        self.xminusbutton = QtWidgets.QRadioButton(self)\r
+        self.xminusbutton.setText("左が正(&L)")\r
+        self.yminusbutton = QtWidgets.QRadioButton(self)\r
+        self.yminusbutton.setText("上が正(&T)")\r
+        self.yplusbutton = QtWidgets.QRadioButton(self)\r
+        self.yplusbutton.setText("下が正(&B)")\r
+\r
+        xgroup = QtWidgets.QButtonGroup(self)\r
+        xgroup.addButton(self.xplusbutton)\r
+        xgroup.addButton(self.xminusbutton)\r
+\r
+        ygroup = QtWidgets.QButtonGroup(self)\r
+        ygroup.addButton(self.yplusbutton)\r
+        ygroup.addButton(self.yminusbutton)\r
+\r
         self.buttonbox = QtWidgets.QDialogButtonBox(\r
             QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel)\r
         self.buttonbox.accepted.connect(self.accept)\r
@@ -821,14 +839,26 @@ class SetOrigineDialog(QtWidgets.QDialog):
         layout.addWidget(self.xbox, 2, 1, 1, 1)\r
         layout.addWidget(ylabel, 2, 2, 1, 1)\r
         layout.addWidget(self.ybox, 2, 3, 1, 1)\r
-        layout.addWidget(self.buttonbox, 3, 0, 1, 4)\r
+        layout.addWidget(self.xplusbutton, 3, 1, 1, 1)\r
+        layout.addWidget(self.xminusbutton, 4, 1, 1, 1)\r
+        layout.addWidget(self.yminusbutton, 3, 3, 1, 1)\r
+        layout.addWidget(self.yplusbutton, 4, 3, 1, 1)\r
+        layout.addWidget(self.buttonbox, 5, 0, 1, 4)\r
         self.setLayout(layout)\r
         self.setModal(True)\r
 \r
-    def setcurrent(self, x, y):\r
+    def setcurrent(self, x, y, signx, signy):\r
         self.xbox.setValue(x)\r
         self.ybox.setValue(y)\r
         self.currentlabel.setText("現在の座標 ({x}, {y})".format(x=x, y=y))\r
+        if signx == 1:\r
+            self.xplusbutton.setChecked(True)\r
+        elif signx == -1:\r
+            self.xminusbutton.setChecked(True)\r
+        if signy == 1:\r
+            self.yplusbutton.setChecked(True)\r
+        elif signy == -1:\r
+            self.yminusbutton.setChecked(True)\r
 \r
     @property\r
     def originex(self):\r
@@ -838,6 +868,24 @@ class SetOrigineDialog(QtWidgets.QDialog):
     def originey(self):\r
         return self.ybox.value()\r
 \r
+    @property\r
+    def signx(self):\r
+        if self.xplusbutton.isChecked():\r
+            return 1\r
+        elif self.xminusbutton.isChecked():\r
+            return -1\r
+        else:\r
+            return 0\r
+\r
+    @property\r
+    def signy(self):\r
+        if self.yplusbutton.isChecked():\r
+            return 1\r
+        elif self.yminusbutton.isChecked():\r
+            return -1\r
+        else:\r
+            return 0\r
+\r
 \r
 class SetSizeDialog(QtWidgets.QDialog):\r
     def __init__(self, parent=None):\r
@@ -1096,6 +1144,10 @@ class MapEngine(object):
         self._offsetx = x\r
         self._offsety = y\r
 \r
+    def setsign(self, signx, signy):\r
+        self._signx = signx\r
+        self._signy = signy\r
+\r
     def getmark(self, x, y):\r
         return self.unescape(self.getnote(x, y)["mark"])\r
 \r
index 088f8d0..f6e152a 100644 (file)
@@ -47,7 +47,7 @@
                 <p>メニューの[編集]-[マップのサイズ]から、マップのサイズを変更できます。プラスの数値を入力すると、その方向にスペースを追加します。マイナスの数値を入力すると、その方向のスペースを削除します。マップのサイズに制限はありませんが、一度に拡張できるのは+100までです。</p>\r
                 <img src="./images/mapsize.png" alt="マップのサイズダイアログ">\r
             <h2 id="cood">座標設定</h2>\r
-                <p>メニューの[編集]-[座標設定]から、座標の基準点を変更できます。[座標設定]を選択後、メイン画面の基準点をクリックすると、座標入力ダイアログが出てきますので、座標を入力してください。座標は+999から-999まで入力できます。</p>\r
+                <p>ã\83¡ã\83\8bã\83¥ã\83¼ã\81®[ç·¨é\9b\86]-[座æ¨\99設å®\9a\81\8bã\82\89ã\80\81座æ¨\99ã\81®å\9fºæº\96ç\82¹ã\81¨åº§æ¨\99軸ã\81®æ\96¹å\90\91ã\82\92å¤\89æ\9b´ã\81§ã\81\8dã\81¾ã\81\99ã\80\82[座æ¨\99設å®\9a\82\92é\81¸æ\8a\9eå¾\8cã\80\81ã\83¡ã\82¤ã\83³ç\94»é\9d¢ã\81®å\9fºæº\96ç\82¹ã\82\92ã\82¯ã\83ªã\83\83ã\82¯ã\81\99ã\82\8bã\81¨ã\80\81座æ¨\99å\85¥å\8a\9bã\83\80ã\82¤ã\82¢ã\83­ã\82°ã\81\8cå\87ºã\81¦ã\81\8dã\81¾ã\81\99ã\81®ã\81§ã\80\81座æ¨\99ã\82\92å\85¥å\8a\9bã\81\97ã\81¦ã\81\8fã\81 ã\81\95ã\81\84ã\80\82座æ¨\99ã\81¯+999ã\81\8bã\82\89-999ã\81¾ã\81§å\85¥å\8a\9bã\81§ã\81\8dã\81¾ã\81\99ã\80\82</p>\r
                 <img src="./images/cood.png" alt="座標設定ダイアログ">\r
             <h2 id="sendto">[送る]への登録</h2>\r
                 <p>(関連付けを設定してあれば、保存したファイルをダブルクリックしてそのファイルを開けます。<a href="./index.html#run">プログラムの起動</a>を参照してください。)</p><p>*.pydunを右クリックして、[送る]-[Pydun.exe]で起動直後にそのファイルを開くことができます。これを行うためには、あらかじめ、ユーザーフォルダーの中にある[SendTo]フォルダーに[Pydun.exe]のショートカットをコピーする必要があります。[SendTo]フォルダーの位置はOSによって違います。</p>\r
                         <th>バージョン</th><th>公開日</th><th>内容</th>\r
                     </tr>\r
                                        <tr>\r
-                                               <td>1.2.0</td><td>2019-06-13</td><td>内部で使用しているPythonのバージョンを3.7系列+Qt for Python(Pyside2)に変更。絵文字を使えるようにする。\r
+                                               <td>1.2.1</td><td>2020-07-01</td><td>座標軸の方向を変更できるようにする。</td>\r
                                        </tr>\r
                                        <tr>\r
-                                               <td>1.1.0</td><td>2015-09-06</td><td>内部で使用しているPythonのバージョンを3.4系列に変更。DLL展開版をインストーラーを追加し「インストーラー版」、従来のものを「ポータブル版」とする。linux版のバイナリを非対応とする。(ソースからは従来通り使用できます)\r
+                                               <td>1.2.0</td><td>2019-06-13</td><td>内部で使用しているPythonのバージョンを3.7系列+Qt for Python(Pyside2)に変更。絵文字を使えるようにする。</td>\r
+                                       </tr>\r
+                                       <tr>\r
+                                               <td>1.1.0</td><td>2015-09-06</td><td>内部で使用しているPythonのバージョンを3.4系列に変更。DLL展開版をインストーラーを追加し「インストーラー版」、従来のものを「ポータブル版」とする。linux版のバイナリを非対応とする。(ソースからは従来通り使用できます)</td>\r
                                        </tr>\r
                     <tr>\r
                         <td>1.0.6.1</td><td>2015-05-23</td><td>プロジェクトのURLなどの変更。機能面の変更はありません。</td>\r
index 06acf6d..724a607 100644 (file)
@@ -1,2 +1,5 @@
-pyinstaller --windowed D:\users\pydun\trunk\Pydun.py\r
+pyinstaller --windowed --exclude-module tkinter D:\users\pydun\trunk\Pydun.py\r
+xcopy D:\users\pydun\trunk\help D:\users\pydun\trunk\dist\Pydun\help\ /E\r
+xcopy D:\users\pydun\trunk\images D:\users\pydun\trunk\dist\Pydun\images\ /E\r
+xcopy D:\users\pydun\trunk\LICENSE D:\users\pydun\trunk\dist\Pydun\LICENSE\ /E\r
 pause\r
index 3fc0277..63d81c0 100644 (file)
@@ -1,4 +1,4 @@
-# -*- mode: python -*-\r
+# -*- mode: python ; coding: utf-8 -*-\r
 \r
 block_cipher = None\r
 \r
@@ -10,7 +10,7 @@ a = Analysis(['D:\\users\\pydun\\trunk\\Pydun.py'],
              hiddenimports=[],\r
              hookspath=[],\r
              runtime_hooks=[],\r
-             excludes=[],\r
+             excludes=['tkinter'],\r
              win_no_prefer_redirects=False,\r
              win_private_assemblies=False,\r
              cipher=block_cipher,\r
@@ -19,14 +19,19 @@ pyz = PYZ(a.pure, a.zipped_data,
              cipher=block_cipher)\r
 exe = EXE(pyz,\r
           a.scripts,\r
-          a.binaries,\r
-          a.zipfiles,\r
-          a.datas,\r
           [],\r
+          exclude_binaries=True,\r
           name='Pydun',\r
           debug=False,\r
           bootloader_ignore_signals=False,\r
           strip=False,\r
           upx=True,\r
-          runtime_tmpdir=None,\r
           console=False )\r
+coll = COLLECT(exe,\r
+               a.binaries,\r
+               a.zipfiles,\r
+               a.datas,\r
+               strip=False,\r
+               upx=True,\r
+               upx_exclude=[],\r
+               name='Pydun')\r