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.trolltech.qt.gui.QCheckBox;
\r
25 import com.trolltech.qt.gui.QComboBox;
\r
26 import com.trolltech.qt.gui.QFontDatabase;
\r
27 import com.trolltech.qt.gui.QGridLayout;
\r
28 import com.trolltech.qt.gui.QGroupBox;
\r
29 import com.trolltech.qt.gui.QLabel;
\r
30 import com.trolltech.qt.gui.QVBoxLayout;
\r
31 import com.trolltech.qt.gui.QWidget;
\r
33 import cx.fbn.nevernote.Global;
\r
35 public class ConfigFontPage extends QWidget {
\r
36 private final QCheckBox overrideFonts;
\r
37 private final QComboBox fontList;
\r
38 private final QComboBox fontSizeList;
\r
39 private String font;
\r
40 private String fontSize;
\r
42 public ConfigFontPage(QWidget parent) {
\r
44 font = Global.getDefaultFont();
\r
45 fontSize = Global.getDefaultFontSize();
\r
48 QGroupBox fontGroup = new QGroupBox(tr("New Note Defaults"));
\r
49 QGridLayout fontLayout = new QGridLayout();
\r
50 overrideFonts = new QCheckBox(tr("Override Defaults"));
\r
51 overrideFonts.setCheckable(true);
\r
52 overrideFonts.setChecked(Global.overrideDefaultFont());
\r
53 overrideFonts.clicked.connect(this, "toggleFontOverride(Boolean)");
\r
54 fontLayout.addWidget(overrideFonts,1,2);
\r
58 fontList = new QComboBox();
\r
59 fontList.activated.connect(this, "fontSelected(String)");
\r
60 fontLayout.addWidget(new QLabel(tr("Font")),2,1);
\r
61 fontLayout.addWidget(fontList,2,2);
\r
64 fontSizeList = new QComboBox();
\r
65 fontLayout.addWidget(fontSizeList,3,2);
\r
66 fontSizeList.activated.connect(this, "fontSizeSelected(String)");
\r
67 fontLayout.addWidget(new QLabel(tr("Size")),3,1);
\r
68 fontGroup.setLayout(fontLayout);
\r
69 fontLayout.setColumnStretch(2, 100);
\r
70 toggleFontOverride(Global.overrideDefaultFont());
\r
75 QVBoxLayout mainLayout = new QVBoxLayout();
\r
76 mainLayout.addWidget(fontGroup);
\r
77 mainLayout.addStretch(1);
\r
78 setLayout(mainLayout);
\r
81 private void toggleFontOverride(Boolean value) {
\r
82 fontList.setEnabled(value);
\r
83 fontSizeList.setEnabled(value);
\r
86 private void loadFonts() {
\r
87 QFontDatabase fonts = new QFontDatabase();
\r
88 List<String> fontFamilies = fonts.families();
\r
89 for (int i = 0; i < fontFamilies.size(); i++) {
\r
90 if (font.equals(""))
\r
91 font = fontFamilies.get(i);
\r
92 fontList.addItem(fontFamilies.get(i));
\r
94 loadFontSize(fontFamilies.get(i));
\r
100 // Load the font combo box based upon the font selected
\r
101 private void loadFontSize(String name) {
\r
102 QFontDatabase db = new QFontDatabase();
\r
103 fontSizeList.clear();
\r
104 List<Integer> points = db.pointSizes(name);
\r
105 for (int i=0; i<points.size(); i++) {
\r
106 if (fontSize.equals(""))
\r
107 fontSize = points.get(i).toString();
\r
108 fontSizeList.addItem(points.get(i).toString());
\r
113 @SuppressWarnings("unused")
\r
114 private void fontSelected(String font) {
\r
116 loadFontSize(font);
\r
119 @SuppressWarnings("unused")
\r
120 private void fontSizeSelected(String size) {
\r
121 this.fontSize = size;
\r
124 private void loadSettings() {
\r
125 if (!Global.getDefaultFont().equals("")) {
\r
126 int index = fontList.findText(Global.getDefaultFont());
\r
127 fontList.setCurrentIndex(index);
\r
129 if (!Global.getDefaultFontSize().equals("")) {
\r
130 int index = fontSizeList.findText(Global.getDefaultFontSize());
\r
131 fontSizeList.setCurrentIndex(index);
\r
135 public String getFont() {
\r
138 public String getFontSize() {
\r
141 public boolean overrideFont() {
\r
142 return overrideFonts.isChecked();
\r