• R/O
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

OmegaT のメニューバーにフォルダーツリー参照用のメニューを追加します。


Commit MetaInfo

修订版46 (tree)
时间2014-04-25 16:40:10
作者yu-tang

Log Message

change loading plugin to new method
use loadPlugins() and unloadPlugins()

更改概述

差异

--- trunk/src-stubs/org/omegat/core/Core.java (revision 45)
+++ trunk/src-stubs/org/omegat/core/Core.java (revision 46)
@@ -24,12 +24,17 @@
2424 public class Core {
2525 /** Get project instance. */
2626 public static IProject getProject() {
27- return null;
27+ throw new UnsupportedOperationException("This method is only a stub.");
2828 }
2929
3030 /** Get main window instance. */
3131 public static IMainWindow getMainWindow() {
32- return null;
32+ throw new UnsupportedOperationException("This method is only a stub.");
3333 }
3434
35+ /**
36+ * Any plugin can call this method for say about error on loading.
37+ */
38+ public static void pluginLoadingError(String errorText) { }
39+
3540 }
--- trunk/manifest.mf (revision 45)
+++ trunk/manifest.mf (revision 46)
@@ -1,5 +1,10 @@
11 Manifest-Version: 1.0
2+Main-Class: org.omegat.Main
3+License: GNU Public License version 3 or later
4+Specification-Version: 0.1
5+Implementation-Version: 0.1
6+Permissions: all-permissions
7+Class-Path: lib/lib-mnemonics.jar
8+OmegaT-Plugins:
9+ jp.sourceforge.users.yutang.omegat.plugin.foldermenu.FolderMenu
210 OmegaT-Plugin: true
3-
4-Name: org.omegat.plugin.foldermenu.FolderMenu
5-OmegaT-Plugin: base
\ No newline at end of file
--- trunk/src/jp/sourceforge/users/yutang/omegat/plugin/foldermenu/FolderMenu.java (revision 45)
+++ trunk/src/jp/sourceforge/users/yutang/omegat/plugin/foldermenu/FolderMenu.java (revision 46)
@@ -1,7 +1,7 @@
11 /**************************************************************************
22 FolderMenu - easy access to project folders from menu.
33
4- Copyright (C) 2013 Yu Tang
4+ Copyright (C) 2013-2014 Yu Tang
55 Home page: http://sourceforge.jp/users/yu-tang/
66 Support center: http://sourceforge.jp/users/yu-tang/pf/
77
@@ -21,6 +21,8 @@
2121 import org.omegat.core.events.IProjectEventListener;
2222 import org.omegat.core.events.IProjectEventListener.PROJECT_CHANGE_TYPE.*;
2323 import jp.sourceforge.users.yutang.omegat.plugin.foldermenu.filepreview.FilePreview;
24+import org.omegat.core.Core;
25+import org.omegat.util.Log;
2426
2527 /**
2628 * easy access to project folders from menu
@@ -29,12 +31,23 @@
2931 */
3032 public class FolderMenu implements IApplicationEventListener, IProjectEventListener {
3133
34+ private static FolderMenu _this = new FolderMenu();
35+
3236 private MenuManager menuManager;
3337
34- @SuppressWarnings("LeakingThisInConstructor")
35- public FolderMenu() {
36- CoreEvents.registerApplicationEventListener(this);
37- CoreEvents.registerProjectChangeListener(this);
38+ public static void loadPlugins() {
39+ try {
40+ // Not initialize in console mode.
41+ CoreEvents.registerApplicationEventListener(_this);
42+ } catch (Throwable ex) {
43+ String msg = ex.getMessage();
44+ Log.logErrorRB(msg);
45+ Core.pluginLoadingError(msg);
46+ }
47+ }
48+
49+ public static void unloadPlugins() {
50+ // do nothing
3851 }
3952
4053 @Override
@@ -41,6 +54,7 @@
4154 public void onApplicationStartup() {
4255 menuManager = new MenuManager();
4356 FilePreview.init();
57+ CoreEvents.registerProjectChangeListener(this);
4458 }
4559
4660 @Override