📄 mainwindow.java
字号:
text.addMouseListener(new MouseListener() {
public void mouseUp(MouseEvent e) {
}
public void mouseDown(MouseEvent e) {
Text text = (Text) e.widget;
if (text.getText().equals(sDefault)) {
text.setForeground(ColorCache.getColor(text.getDisplay(), 0, 0, 0));
text.setText("");
}
}
public void mouseDoubleClick(MouseEvent e) {
}
});
text.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
public void widgetDefaultSelected(SelectionEvent e) {
// Open a new search result view
// Search Results are placed in a Search Results tab in the
// "Browse Content" tab view.
Text text = (Text) e.widget;
String sSearchText = text.getText();
doSearch(sSearchText);
}
});
SWTSkinObject searchGo = skin.getSkinObject("search-go");
if (searchGo != null) {
SWTSkinButtonUtility btnGo = new SWTSkinButtonUtility(searchGo);
btnGo.addSelectionListener(new ButtonListenerAdapter() {
public void pressed(SWTSkinButtonUtility buttonUtility) {
String sSearchText = text.getText().trim();
if (!sSearchText.equals(sDefault) && sSearchText.length() > 0) {
doSearch(sSearchText);
}
}
});
}
}
/**
* @param searchText
*/
protected void doSearch(String sSearchText) {
// Switch to browse tab
skin.setActiveTab("maintabs", "maintabs.browse");
SWTSkinObject skinObject = skin.getSkinObject("browse");
if (skinObject == null) {
return;
}
String sURL = Constants.URL_PREFIX + Constants.URL_ADD_SEARCH
+ UrlUtils.encode(sSearchText) + "&" + Constants.URL_SUFFIX;
// String sURL = Constants.URL_PREFIX
// + "app?page=content%2FBrowse&service=external&sp=X&sp=X&sp=S"
// + UrlUtils.encode(" " + sSearchText + " ") + "&sp=X&sp=X&"
// + Constants.URL_SUFFIX;
System.out.println(sURL);
if (skinObject instanceof SWTSkinObjectBrowser) {
((SWTSkinObjectBrowser) skinObject).setURL(sURL);
return;
}
// below is the old impementation of search, which creates a new tab
// and browser for each search.
// Get Search Results tab (which contains a tabset of searched terms),
// create if needed
skinObject = skin.getSkinObject("browse-tabs");
if (skinObject == null) {
System.err.println("no browse-tabs");
return;
}
SWTSkinTabSet tabSetSearch = skin.getTabSet(SWTSkinTabSet.getTabSetID(skin,
skinObject, "search-tab"));
SWTSkinObjectTab searchTab = null;
if (tabSetSearch != null) {
SWTSkinObjectTab[] tabs = tabSetSearch.getTabs();
if (tabs.length > 0) {
searchTab = tabs[tabs.length - 1];
}
}
String sTabID = "internal.tab.searchresults";
if (searchTab == null || !searchTab.getSkinObjectID().equals(sTabID)) {
// Create search results tab
searchTab = skin.createTab(sTabID, "search-tab", skinObject);
// Attach the new tab to the previous one
Control currentControl = searchTab.getControl();
FormData formData = (FormData) currentControl.getLayoutData();
if (formData == null) {
formData = new FormData();
}
formData.right = new FormAttachment(100, 0);
currentControl.setLayoutData(formData);
currentControl.getParent().layout(true);
tabSetSearch = searchTab.getTabset();
}
tabSetSearch.setActiveTab(sTabID);
SWTSkinObject searchResultsTabsView = skin.getSkinObject("search-results-tabs");
if (searchResultsTabsView == null) {
System.err.println("searchResultsTabs null");
return;
}
sTabID = "internal.tab.searchresults."
+ Integer.toHexString(sSearchText.hashCode());
SWTSkinObjectTab tabSearchResult = null;
String sTabSetID = SWTSkinTabSet.getTabSetID(skin, searchResultsTabsView,
"tab");
SWTSkinTabSet tabSetSearchResults = skin.getTabSet(sTabSetID);
SWTSkinObject lastTab = null;
if (tabSetSearchResults != null) {
SWTSkinObject[] tabs = tabSetSearchResults.getTabs();
if (tabs.length > 0) {
lastTab = tabs[tabs.length - 1];
}
tabSearchResult = tabSetSearchResults.getTab(sTabID);
}
if (tabSearchResult == null) {
// Create tab specifically for this search
tabSearchResult = skin.createTab(sTabID, "tab", searchResultsTabsView);
if (tabSetSearchResults == null) {
tabSetSearchResults = skin.getTabSet(sTabSetID);
}
Control currentControl = tabSearchResult.getControl();
// Attach the new tab to the previous one
if (lastTab != null) {
FormData formData = (FormData) currentControl.getLayoutData();
if (formData == null) {
formData = new FormData();
}
formData.left = new FormAttachment(lastTab.getControl(), 2);
currentControl.setLayoutData(formData);
}
// Set the new tab's text
SWTSkinObject tabText = skin.getSkinObject("search-result-tab-text",
tabSearchResult);
if (tabText instanceof SWTSkinObjectText) {
((SWTSkinObjectText) tabText).setText(sSearchText);
}
searchResultsTabsView.getControl().getParent().layout(true, true);
String[] activeWidgetIDs = tabSearchResult.getActiveWidgetIDs();
SWTSkinObject searchResultsView = skin.getSkinObject("search-results-view");
if (activeWidgetIDs.length == 1 && searchResultsView != null) {
String sContentConfigID = activeWidgetIDs[0];
String sContentID = "internal.tab.searchresults.content."
+ Integer.toHexString(sSearchText.hashCode());
SWTSkinObject searchResultsContent = skin.createSkinObject(sContentID,
sContentConfigID, searchResultsView);
tabSearchResult.setActiveWidgets(new SWTSkinObject[] { searchResultsContent
});
SWTSkinObject searchResultsContentG = skin.getSkinObject(
"search-results-google", searchResultsContent);
if (searchResultsContentG != null) {
Composite cArea = (Composite) searchResultsContentG.getControl();
final Browser browser = new Browser(cArea, SWT.NONE);
final ClientMessageContext context = new BrowserContext("search",
browser, null);
context.addMessageListener(new TorrentListener(core));
browser.setLayoutData(Utils.getFilledFormData());
// browser.setUrl("http://www.google.com/search?num=5&q="
// + UrlUtils.encode(sSearchText + " torrent"));
browser.setUrl(sURL);
cArea.layout(true, true);
}
SWTSkinObject searchResultsContentN = skin.getSkinObject(
"search-results-network", searchResultsContent);
if (searchResultsContentN != null) {
Composite cArea = (Composite) searchResultsContentN.getControl();
final Browser browser = new Browser(cArea, SWT.NONE);
final ClientMessageContext context = new BrowserContext("search",
browser, null);
browser.setLayoutData(Utils.getFilledFormData());
NetworkSearch.search(core, sSearchText, browser);
cArea.layout(true, true);
}
}
}
// activate!
if (tabSetSearchResults != null) {
tabSetSearchResults.setActiveTab(sTabID);
}
}
// @see com.aelitis.azureus.ui.swt.skin.SWTSkinTabSetListener#tabChanged(com.aelitis.azureus.ui.swt.skin.SWTSkinTabSet, java.lang.String, java.lang.String)
public void tabChanged(SWTSkinTabSet tabSet, String oldTabID, String newTabID) {
updateMapTrackUsage(oldTabID);
if (tabSet.getID().equals("maintabs")) {
// TODO: Don't use internal skin IDs. Skin needs to provide an ViewID
// we can query (or is passed in)
if (newTabID.equals("maintabs.advanced")) {
createOldMainWindow();
if (oldMainMenu != null) {
oldMainMenu.linkMenuBar(shell);
}
} else if (newTabID.equals("maintabs.home")
&& oldTabID.equals("maintabs.home")) {
SkinView view = SkinViewManager.get(MiniBrowse.class);
if (view instanceof MiniBrowse) {
((MiniBrowse) view).restart();
}
} else if (newTabID.equals("maintabs.browse")
&& oldTabID.equals("maintabs.browse")) {
SkinView view = SkinViewManager.get(Browse.class);
if (view instanceof Browse) {
((Browse) view).restart();
}
} else if (newTabID.equals("maintabs.publish")
&& oldTabID.equals("maintabs.publish")) {
SkinView view = SkinViewManager.get(Publish.class);
if (view instanceof Publish) {
((Publish) view).restart();
}
}
if (!newTabID.equals("maintabs.advanced") && oldMainMenu != null) {
menu.linkMenuBar(shell);
}
}
}
/**
*
*/
private void updateMapTrackUsage(String sTabID) {
if (mapTrackUsage != null) {
mapTrackUsage_mon.enter();
try {
Long currentLength = (Long) mapTrackUsage.get(sTabID);
if (currentLength == null) {
currentLength = new Long(lCurrentTrackTime);
} else {
currentLength = new Long(currentLength.longValue()
+ lCurrentTrackTime);
}
mapTrackUsage.put(sTabID, currentLength);
} finally {
mapTrackUsage_mon.exit();
}
}
lCurrentTrackTime = 0;
}
/**
*
*/
private void createOldMainWindow() {
if (oldMainWindow != null || disposedOrDisposing) {
return;
}
if (uiSWTInstanceImpl == null) {
System.out.println("This will end only in disaster! "
+ Debug.getCompressedStackTrace());
}
SWTSkinObject skinObject = skin.getSkinObject("advanced");
if (skinObject != null) {
Composite cArea = (Composite) skinObject.getControl();
Label lblWait = new Label(cArea, SWT.CENTER);
FormData formData = new FormData();
formData.left = new FormAttachment(0, 0);
formData.right = new FormAttachment(100, 0);
formData.top = new FormAttachment(0, 0);
formData.bottom = new FormAttachment(100, 0);
lblWait.setLayoutData(formData);
Messages.setLanguageText(lblWait, "MainWindow.v3.view.wait");
cArea.layout(true);
lblWait.update();
cArea.setBackground(cArea.getShell().getBackground());
oldMainWindow = new org.gudy.azureus2.ui.swt.mainwindow.MainWindow(core,
null, cArea.getShell(), cArea, uiSWTInstanceImpl);
oldMainWindow.setShowMainWindow(false);
oldMainWindow.runSupport();
oldMainMenu = new org.gudy.azureus2.ui.swt.mainwindow.MainMenu(shell);
oldMainMenu.createMenu(core, shell);
oldMainMenu.setMainWindow(oldMainWindow);
oldMainWindow.setMenu(oldMainMenu);
Menu viewMenu = oldMainMenu.getMenu(org.gudy.azureus2.ui.swt.mainwindow.MainMenu.MENU_VIEW);
if (viewMenu != null) {
menu.addToOldMenuView(viewMenu);
}
uiFunctions.oldMainWindowInitialized(oldMainWindow);
lblWait.dispose();
cArea.layout(true);
}
}
public org.gudy.azureus2.ui.swt.mainwindow.MainWindow getOldMainWindow(
boolean bForceCreate) {
if (oldMainWindow == null && bForceCreate) {
createOldMainWindow();
}
return oldMainWindow;
}
public UIFunctionsSWT getOldUIFunctions(boolean bCreateOld) {
if (oldMainWindow == null && bCreateOld) {
createOldMainWindow();
}
if (oldMainWindow != null) {
return oldMainWindow.getUIFunctions();
}
return null;
}
public void switchToAdvancedTab() {
SWTSkinTabSet tabSetMain = skin.getTabSet("maintabs");
if (tabSetMain == null) {
System.err.println("maintabs");
return;
}
tabSetMain.setActiveTab("maintabs.advanced");
}
public UISWTInstance getUISWTInstanceImpl() {
return uiSWTInstanceImpl;
}
/**
* @param url
* @param target
*/
public void showURL(String url, String target) {
SWTSkinObject skinObject = skin.getSkinObject(target);
skin.activateTab(skinObject);
if (skinObject instanceof SWTSkinObjectBrowser) {
((SWTSkinObjectBrowser) skinObject).getBrowser().setVisible(false);
if (url == null || url.length() == 0) {
((SWTSkinObjectBrowser) skinObject).restart();
} else {
((SWTSkinObjectBrowser) skinObject).setURL(url);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -