Pārlūkot izejas kodu

allow user setting the default window position

MaysWind 5 gadi atpakaļ
vecāks
revīzija
6aa42d831e

+ 3 - 0
app/langs/zh_Hans.txt

@@ -183,6 +183,9 @@ Navigate to Downloading Tasks Page=转到正在下载列表页面
 Stay on Current Page=留在当前页面
 Remove Old Tasks After Retrying=重试任务后删除原任务
 Confirm Task Removal=任务删除前确认
+Default Window Position=默认窗口位置
+Last Position=上次使用的位置
+Screen Center=屏幕中心
 Action After Main Window Closed=关闭主界面后执行操作
 Exit Application=退出程序
 Minimize to Tray=最小化到托盘

+ 3 - 0
app/langs/zh_Hant.txt

@@ -183,6 +183,9 @@ Navigate to Downloading Tasks Page=轉到正在下載工作頁面
 Stay on Current Page=留在目前頁面
 Remove Old Tasks After Retrying=重試工作後刪除原工作
 Confirm Task Removal=工作刪除前確認
+Default Window Position=預設窗口位置
+Last Position=上次使用的位置
+Screen Center=螢幕中央
 Action After Main Window Closed=關閉主介面後執行操作
 Exit Application=退出程式
 Minimize to Tray=最小化到托盤

+ 3 - 0
app/scripts/config/defaultLanguage.js

@@ -187,6 +187,9 @@
             'Stay on Current Page': 'Stay on Current Page',
             'Remove Old Tasks After Retrying': 'Remove Old Tasks After Retrying',
             'Confirm Task Removal': 'Confirm Task Removal',
+            'Default Window Position': 'Default Window Position',
+            'Last Position': 'Last Position',
+            'Screen Center': 'Screen Center',
             'Action After Main Window Closed': 'Action After Main Window Closed',
             'Exit Application': 'Exit Application',
             'Minimize to Tray': 'Minimize to Tray',

+ 6 - 0
app/scripts/controllers/settings-ariang.js

@@ -31,6 +31,8 @@
             var originalConfig = ariaNgNativeElectronService.getNativeConfig();
             var config = {};
 
+            config.defaultPosition = originalConfig.defaultPosition || 'last-position';
+
             if (!originalConfig.minimizedToTray) {
                 config.afterMainWindowClosed = 'exit-application';
             } else {
@@ -235,6 +237,10 @@
             ariaNgSettingService.setAfterRetryingTask(value);
         };
 
+        $scope.setDefaultPosition = function (value) {
+            ariaNgNativeElectronService.setDefaultPosition(value);
+        }
+
         $scope.setAfterMainWindowClosed = function (value) {
             if (value === 'minimize-to-tray') {
                 ariaNgNativeElectronService.setMinimizedToTray(true);

+ 4 - 0
app/scripts/services/ariaNgNativeElectronService.js

@@ -98,6 +98,10 @@
 
                 return cfg;
             },
+            setDefaultPosition: function (value) {
+                config.defaultPosition = value;
+                config.save('defaultPosition');
+            },
             setMinimizedToTray: function (value) {
                 config.minimizedToTray = !!value;
                 config.save('minimizedToTray');

+ 12 - 0
app/views/settings-ariang.html

@@ -189,6 +189,18 @@
                             </select>
                         </div>
                     </div>
+                    <div class="row">
+                        <div class="setting-key setting-key-without-desc col-sm-4">
+                            <span translate>Default Window Position</span>
+                        </div>
+                        <div class="setting-value col-sm-8">
+                            <select class="form-control" style="width: 100%;" ng-model="context.nativeSettings.defaultPosition"
+                                    ng-change="setDefaultPosition(context.nativeSettings.defaultPosition)">
+                                <option value="last-position" translate>Last Position</option>
+                                <option value="screen-center" translate>Screen Center</option>
+                            </select>
+                        </div>
+                    </div>
                     <div class="row">
                         <div class="setting-key setting-key-without-desc col-sm-4">
                             <span translate>Action After Main Window Closed</span>

+ 1 - 0
main/config.js

@@ -37,6 +37,7 @@ let config = {
     x: userSettingsStore.get('x'),
     y: userSettingsStore.get('y'),
     maximized: !!userSettingsStore.get('maximized'),
+    defaultPosition: userSettingsStore.get('defaultPosition') || 'last-position',
     minimizedToTray: userSettingsStore.get('minimizedToTray', true),
     save: function (item) {
         if (item && this[item] != undefined) {

+ 3 - 1
main/main.js

@@ -117,8 +117,10 @@ app.on('ready', () => {
         }
     }
 
-    if (isLastPositionInScreen) {
+    if (config.defaultPosition === 'last-position' && isLastPositionInScreen) {
         core.mainWindow.setPosition(config.x, config.y);
+    } else if (config.defaultPosition === 'screen-center') {
+        core.mainWindow.center();
     }
 
     if (config.maximized) {