2 * This file is part of NeverNote
\r
3 * Copyright 2009 Randy Baumgarte
\r
5 * This file may be licensed under the terms of of the
\r
6 * GNU General Public License Version 2 (the ``GPL'').
\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
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
20 package cx.fbn.nevernote.dialog;
\r
22 import java.util.List;
\r
24 import com.evernote.edam.type.Notebook;
\r
25 import com.trolltech.qt.gui.QComboBox;
\r
26 import com.trolltech.qt.gui.QDialog;
\r
27 import com.trolltech.qt.gui.QFileDialog;
\r
28 import com.trolltech.qt.gui.QGridLayout;
\r
29 import com.trolltech.qt.gui.QHBoxLayout;
\r
30 import com.trolltech.qt.gui.QLabel;
\r
31 import com.trolltech.qt.gui.QPushButton;
\r
32 import com.trolltech.qt.gui.QVBoxLayout;
\r
33 import com.trolltech.qt.gui.QFileDialog.FileMode;
\r
35 import cx.fbn.nevernote.sql.runners.WatchFolderRecord;
\r
37 public class WatchFolderAdd extends QDialog {
\r
38 private final QPushButton okButton;
\r
39 private final QPushButton cancelButton;
\r
40 private boolean okClicked;
\r
41 private final List<Notebook> notebooks;
\r
42 private final WatchFolderRecord record;
\r
43 public final QLabel directory;
\r
44 public final QComboBox keep;
\r
45 public final QComboBox books;
\r
47 public WatchFolderAdd(WatchFolderRecord w, List<Notebook> n) {
\r
52 okButton = new QPushButton();
\r
53 okButton.setText("OK");
\r
54 okButton.pressed.connect(this, "onClicked()");
\r
56 cancelButton = new QPushButton();
\r
57 cancelButton.setText("Cancel");
\r
58 cancelButton.pressed.connect(this, "onCancel()");
\r
60 QPushButton folderButton = new QPushButton();
\r
61 folderButton.setText("Directory");
\r
62 folderButton.clicked.connect(this, "folderButtonClicked()");
\r
64 directory = new QLabel();
\r
66 directory.setText(record.folder);
\r
68 directory.setText(System.getProperty("user.home"));
\r
70 keep = new QComboBox();
\r
71 keep.addItem("Keep");
\r
72 keep.addItem("Delete");
\r
73 if (record != null) {
\r
75 keep.setCurrentIndex(0);
\r
77 keep.setCurrentIndex(1);
\r
80 books = new QComboBox();
\r
81 for (int i=0; i<notebooks.size(); i++) {
\r
82 books.addItem(notebooks.get(i).getName());
\r
83 if (record != null) {
\r
84 if (record.notebook.equals(notebooks.get(i).getName()))
\r
85 books.setCurrentIndex(i);
\r
89 QGridLayout grid = new QGridLayout();
\r
90 grid.addWidget(directory,0,1);
\r
91 grid.addWidget(folderButton,0,0);
\r
92 grid.addWidget(new QLabel("Notebook"),1,0);
\r
93 grid.addWidget(books,1,1);
\r
94 grid.addWidget(new QLabel("After Import"), 2,0);
\r
95 grid.addWidget(keep,2,1);
\r
97 QHBoxLayout buttonLayout = new QHBoxLayout();
\r
98 buttonLayout.addStretch(1);
\r
99 buttonLayout.addWidget(okButton);
\r
100 buttonLayout.addWidget(cancelButton);
\r
101 setWindowTitle(tr("Add Import Folder"));
\r
104 QVBoxLayout mainLayout = new QVBoxLayout();
\r
105 mainLayout.addLayout(grid);
\r
106 mainLayout.addSpacing(1);
\r
107 mainLayout.addLayout(buttonLayout);
\r
108 setLayout(mainLayout);
\r
112 @SuppressWarnings("unused")
\r
113 private void onClicked() {
\r
118 @SuppressWarnings("unused")
\r
119 private void onCancel() {
\r
124 public boolean okClicked() {
\r
128 @SuppressWarnings("unused")
\r
129 private void itemSelected() {
\r
130 okButton.setEnabled(true);
\r
133 @SuppressWarnings("unused")
\r
134 private void folderButtonClicked() {
\r
135 QFileDialog fileDialog = new QFileDialog();
\r
136 fileDialog.setFileMode(FileMode.DirectoryOnly);
\r
137 fileDialog.fileSelected.connect(this, "folderSelected(String)");
\r
141 @SuppressWarnings("unused")
\r
142 private void folderSelected(String f) {
\r
143 String whichOS = System.getProperty("os.name");
\r
144 if (whichOS.contains("Windows"))
\r
145 f = f.replace('/','\\');
\r
146 directory.setText(f);
\r