OSDN Git Service

- Added the ability to do special refreshes for debugging. - Added the ability to...
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / FindDialog.java
1 /*\r
2  * This file is part of NeverNote \r
3  * Copyright 2009 Randy Baumgarte\r
4  * \r
5  * This file may be licensed under the terms of of the\r
6  * GNU General Public License Version 2 (the ``GPL'').\r
7  *\r
8  * Software distributed under the License is distributed\r
9  * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either\r
10  * express or implied. See the GPL for the specific language\r
11  * governing rights and limitations.\r
12  *\r
13  * You should have received a copy of the GPL along with this\r
14  * program. If not, go to http://www.gnu.org/licenses/gpl.html\r
15  * or write to the Free Software Foundation, Inc.,\r
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
17  *\r
18 */\r
19 \r
20 package cx.fbn.nevernote.dialog;\r
21 \r
22 //**********************************************\r
23 //**********************************************\r
24 //* This is the dialog when a user tries to \r
25 //* search for text witihn a note.\r
26 //**********************************************\r
27 //**********************************************\r
28 \r
29 \r
30 import com.trolltech.qt.gui.QCheckBox;\r
31 import com.trolltech.qt.gui.QDialog;\r
32 import com.trolltech.qt.gui.QGridLayout;\r
33 import com.trolltech.qt.gui.QIcon;\r
34 import com.trolltech.qt.gui.QLabel;\r
35 import com.trolltech.qt.gui.QLineEdit;\r
36 import com.trolltech.qt.gui.QPushButton;\r
37 import com.trolltech.qt.webkit.QWebPage;\r
38 \r
39 public class FindDialog extends QDialog {\r
40 \r
41         private final QLineEdit text;\r
42         private final QCheckBox wrap;\r
43         private final QCheckBox forward;\r
44         private final QCheckBox backward;\r
45         private final QCheckBox caseSensitive;\r
46         private final QPushButton ok;\r
47         private final String iconPath = new String("classpath:cx/fbn/nevernote/icons/");\r
48         \r
49         // Constructor\r
50         public FindDialog() {\r
51                 setWindowTitle(tr("Find"));\r
52                 setWindowIcon(new QIcon(iconPath+"search.png"));\r
53                 QGridLayout grid = new QGridLayout();\r
54                 setLayout(grid);\r
55 \r
56                 text = new QLineEdit();\r
57                 wrap = new QCheckBox();\r
58                 forward = new QCheckBox();\r
59                 backward = new QCheckBox();\r
60                 caseSensitive = new QCheckBox();\r
61 \r
62                 QGridLayout textGrid = new QGridLayout();\r
63                 textGrid.addWidget(new QLabel(tr("Text")), 1,1);\r
64                 textGrid.addWidget(text, 1, 2);\r
65                 grid.addLayout(textGrid, 1, 1);\r
66                 \r
67                 QGridLayout opt = new QGridLayout();\r
68                 opt.addWidget(new QLabel(tr("Case Sensitive")), 1,1);\r
69                 opt.addWidget(caseSensitive, 1, 2);\r
70                 opt.addWidget(new QLabel(tr("Forward")), 2,1);\r
71                 opt.addWidget(forward, 2, 2);\r
72                 opt.addWidget(new QLabel(tr("Backward")), 3,1);\r
73                 opt.addWidget(backward, 3, 2);\r
74                 opt.addWidget(new QLabel(tr("Wrap")), 4,1);\r
75                 opt.addWidget(wrap, 4, 2);\r
76                 opt.setContentsMargins(10, 10,  -10, -10);\r
77                 grid.addLayout(opt,2,1);\r
78                 \r
79                 forward.clicked.connect(this, "forwardClicked()");\r
80                 backward.clicked.connect(this, "backwardClicked()");\r
81                 \r
82                 QGridLayout buttonLayout = new QGridLayout();\r
83                 ok = new QPushButton(tr("OK"));\r
84                 ok.clicked.connect(this, "okButtonPressed()");\r
85                 QPushButton cancel = new QPushButton(tr("Close"));\r
86                 cancel.clicked.connect(this, "closeButtonPressed()");\r
87                 buttonLayout.addWidget(ok, 1, 1);\r
88                 buttonLayout.addWidget(cancel, 1,2);\r
89                 grid.addLayout(buttonLayout,3,1);\r
90         }\r
91         \r
92         \r
93         //set focus on show\r
94         public void setFocusOnTextField() {\r
95                 text.setFocus();\r
96         }\r
97         \r
98         // The OK button was pressed\r
99         @SuppressWarnings("unused")\r
100         private void okButtonPressed() {\r
101 //              close();\r
102         }\r
103         // The CANCEL button was pressed\r
104         @SuppressWarnings("unused")\r
105         private void closeButtonPressed() {\r
106                 close();\r
107         }\r
108         // Check if the OK button was pressed\r
109         public void okPressed() {\r
110                 return;\r
111         }\r
112         // The forward checkbox was clicked\r
113         @SuppressWarnings("unused")\r
114         private void forwardClicked() {\r
115                 backward.setChecked(false);\r
116         }\r
117         // The backward checkbox was clicked\r
118         @SuppressWarnings("unused")\r
119         private void backwardClicked() {\r
120                 forward.setChecked(false);\r
121         }\r
122         // Return search flags\r
123         public QWebPage.FindFlags getFlags() {\r
124                 QWebPage.FindFlags flags = new QWebPage.FindFlags();\r
125                 \r
126                 if (wrap.isChecked()) \r
127                         flags.set(QWebPage.FindFlag.FindWrapsAroundDocument);\r
128                 if (backward.isChecked()) \r
129                         flags.set(QWebPage.FindFlag.FindBackward);\r
130                 if (caseSensitive.isChecked()) \r
131                         flags.set(QWebPage.FindFlag.FindCaseSensitively);\r
132                                         \r
133                 return flags;\r
134         }\r
135         // Return search text\r
136         public String getText() {\r
137                 return text.text();\r
138         }\r
139         public QPushButton getOkButton() {\r
140                 return ok;\r
141         }\r
142 }\r