OSDN Git Service

Add some shortcuts to external browser window.
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / gui / ExternalBrowse.java
index f2acd41..ff0f5e0 100644 (file)
 \r
 package cx.fbn.nevernote.gui;\r
 \r
+import java.awt.Desktop;\r
 import java.util.List;\r
 \r
+import com.trolltech.qt.core.QUrl;\r
 import com.trolltech.qt.core.Qt.WidgetAttribute;\r
+import com.trolltech.qt.gui.QAction;\r
 import com.trolltech.qt.gui.QCloseEvent;\r
+import com.trolltech.qt.gui.QDesktopServices;\r
+import com.trolltech.qt.gui.QDialog;\r
 import com.trolltech.qt.gui.QMdiSubWindow;\r
+import com.trolltech.qt.gui.QPrintDialog;\r
+import com.trolltech.qt.gui.QPrinter;\r
 \r
 import cx.fbn.nevernote.Global;\r
+import cx.fbn.nevernote.dialog.FindDialog;\r
 import cx.fbn.nevernote.sql.DatabaseConnection;\r
 \r
 public class ExternalBrowse extends QMdiSubWindow {\r
@@ -34,6 +42,10 @@ public class ExternalBrowse extends QMdiSubWindow {
        public Signal4<String, String, Boolean, BrowserWindow> contentsChanged;\r
        public Signal1<String>  windowClosing;\r
        boolean noteDirty;\r
+       private QAction editFind;\r
+       private final FindDialog        find;                                           // Text search in note dialog\r
+//     ExternalBrowserMenuBar          menu;\r
+       ExternalBrowserMenuBar  menu;\r
        \r
        // Constructor\r
        public ExternalBrowse(DatabaseConnection c) {\r
@@ -43,10 +55,17 @@ public class ExternalBrowse extends QMdiSubWindow {
                contentsChanged = new Signal4<String, String, Boolean, BrowserWindow>();\r
                windowClosing = new Signal1<String>();\r
                browser = new BrowserWindow(conn);\r
+               menu = new ExternalBrowserMenuBar(this);\r
+               for (int i=0; i<menu.actions().size(); i++) {\r
+                       addAction(menu.actions().get(i));\r
+               }\r
+               \r
                setWidget(browser);\r
                noteDirty = false;\r
                browser.titleLabel.textChanged.connect(this, "titleChanged(String)");\r
                browser.getBrowser().page().contentsChanged.connect(this, "contentChanged()");\r
+               find = new FindDialog();\r
+               find.getOkButton().clicked.connect(this, "doFindText()");\r
        }\r
        \r
        @SuppressWarnings("unused")\r
@@ -106,4 +125,40 @@ public class ExternalBrowse extends QMdiSubWindow {
                }\r
        }\r
 \r
+       \r
+    @SuppressWarnings("unused")\r
+       private void findText() {\r
+       find.show();\r
+       find.setFocusOnTextField();\r
+    }\r
+    @SuppressWarnings("unused")\r
+       private void doFindText() {\r
+       browser.getBrowser().page().findText(find.getText(), find.getFlags());\r
+       find.setFocus();\r
+    }\r
+\r
+       \r
+    @SuppressWarnings("unused")\r
+       private void printNote() {\r
+\r
+       QPrintDialog dialog = new QPrintDialog();\r
+       if (dialog.exec() == QDialog.DialogCode.Accepted.value()) {\r
+               QPrinter printer = dialog.printer();\r
+               browser.getBrowser().print(printer);\r
+       }\r
+    }\r
+    \r
+    // Listener triggered when the email button is pressed\r
+    @SuppressWarnings("unused")\r
+       private void emailNote() {\r
+        if (Desktop.isDesktopSupported()) {\r
+            Desktop desktop = Desktop.getDesktop();\r
+            \r
+            String text2 = browser.getContentsToEmail();\r
+            QUrl url = new QUrl("mailto:");\r
+            url.addQueryItem("subject", browser.getTitle());\r
+            url.addQueryItem("body", text2);\r
+            QDesktopServices.openUrl(url);\r
+        }\r
+    }\r
 }\r