}
// Load the style sheet
private void loadStyleSheet() {
- String fileName = Global.getFileManager().getQssDirPath("default.qss");
+ String fileName = Global.getFileManager().getQssDirPathUser("default.qss");
+ fileName = Global.getFileManager().getQssDirPath("default.qss");
QFile file = new QFile(fileName);
+
+ // If a user default.qss doesn't exist, we use the one shipped with NeverNote
+ if (!file.exists()) {
+ fileName = Global.getFileManager().getQssDirPath("default.qss");
+ file = new QFile(fileName);
+ }
file.open(OpenModeFlag.ReadOnly);
String styleSheet = file.readAll().toString();
file.close();
private final String qssDirPath;
private final File qssDir;
+
+ private final String qssDirPathUser;
+ private final File qssDirUser;
private final String resDirPath;
private final File resDir;
qssDir = new File(programDir, "qss");
checkExistingReadableDir(qssDir);
qssDirPath = slashTerminatePath(qssDir.getPath());
+
+ qssDirUser = new File(homeDir, "qss");
+ createDirOrCheckWriteable(qssDirUser);
+ qssDirPathUser = slashTerminatePath(qssDirUser.getPath());
spellDir = new File(programDir, "spell");
checkExistingReadableDir(spellDir);
}
/**
+ * Get a path below the 'qss' directory, using native {@link File#separator}.
+ * This will contain backslashes on Windows.
+ */
+ public String getQssDirPathUser(String relativePath) {
+ return qssDirPathUser + toPlatformPathSeparator(relativePath);
+ }
+
+ /**
* Get a path to the 'res' directory, terminated with native {@link File#separator}.
* This will contain backslashes on Windows.
*/