228 lines
8.5 KiB
Plaintext
228 lines
8.5 KiB
Plaintext
From a64c2561240cef51dea4c15a52b3f8a663ee0dce Mon Sep 17 00:00:00 2001
|
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
|
Date: Sat, 2 Sep 2017 20:33:12 +1000
|
|
Subject: Fix build for Haiku
|
|
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 0749577..c8299d3 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 2.6)
|
|
|
|
#INCLUDE(CPack)
|
|
|
|
+set(CMAKE_CXX_STANDARD 11)
|
|
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
+
|
|
if( ${CMAKE_SYSTEM} MATCHES "Darwin" )
|
|
message("MAC OSX build")
|
|
SET(MAC 1)
|
|
diff --git a/cr3qt/CMakeLists.txt b/cr3qt/CMakeLists.txt
|
|
index 4eda8f3..1a63cbd 100644
|
|
--- a/cr3qt/CMakeLists.txt
|
|
+++ b/cr3qt/CMakeLists.txt
|
|
@@ -48,6 +48,10 @@ if(MAC)
|
|
-DUSE_FONTCONFIG=0
|
|
${CARBON_CFLAGS}
|
|
)
|
|
+ELSEIF (HAIKU)
|
|
+ ADD_DEFINITIONS(-DCR3_DATA_DIR="${CMAKE_INSTALL_PREFIX}/data/"
|
|
+ -DUSE_FONTCONFIG=1
|
|
+ )
|
|
ELSEIF (UNIX)
|
|
ADD_DEFINITIONS(-DCR3_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/cr3/"
|
|
-DUSE_FONTCONFIG=1
|
|
@@ -171,7 +175,9 @@ IF(MAC)
|
|
# SET(FRAMEWORKS "-framework ApplicationServices -framework Carbon -framework AppKit")
|
|
#/Developer/Qt/lib/libQtCore.a /Developer/Qt/lib/libQtGui.a ${FRAMEWORKS}
|
|
SET (EXTRA_LIBS ${QT_LIBRARIES} ${STD_LIBS} )
|
|
-#${QT_LIBRARIES}
|
|
+#${QT_LIBRARIES}
|
|
+ELSEIF (HAIKU)
|
|
+ SET (EXTRA_LIBS ${QT_LIBRARIES} ${STD_LIBS} ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} fontconfig intl)
|
|
ELSEIF (UNIX)
|
|
SET (EXTRA_LIBS ${QT_LIBRARIES} fontconfig ${STD_LIBS} )
|
|
ELSE()
|
|
@@ -200,6 +206,20 @@ INSTALL( FILES src/desktop/PkgInfo DESTINATION Contents )
|
|
#INSTALL( FILES src/desktop/cr3.png DESTINATION share/pixmaps )
|
|
#INSTALL( FILES src/desktop/cr3.xpm DESTINATION share/pixmaps )
|
|
|
|
+ELSEIF (HAIKU)
|
|
+
|
|
+INSTALL( TARGETS cr3 RUNTIME DESTINATION . )
|
|
+INSTALL( DIRECTORY data/ DESTINATION data
|
|
+ FILES_MATCHING PATTERN "*.css" PATTERN "skins" EXCLUDE PATTERN "docs" EXCLUDE)
|
|
+INSTALL( DIRECTORY data/hyph DESTINATION data
|
|
+ FILES_MATCHING PATTERN "*.pdb" )
|
|
+INSTALL( DIRECTORY data/hyph DESTINATION data
|
|
+ FILES_MATCHING PATTERN "*.pattern" )
|
|
+INSTALL( DIRECTORY data/textures DESTINATION data )
|
|
+INSTALL( DIRECTORY data/backgrounds DESTINATION data )
|
|
+INSTALL( FILES ${CR3_CHANGELOG} DESTINATION data )
|
|
+INSTALL( FILES ${QM_FILES} DESTINATION i18n )
|
|
+
|
|
ELSEIF (UNIX)
|
|
|
|
|
|
--
|
|
2.13.1
|
|
|
|
|
|
From e21d817cebdd528ceca0dfb077f80da0036df91d Mon Sep 17 00:00:00 2001
|
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
|
Date: Sat, 2 Sep 2017 20:49:13 +1000
|
|
Subject: =?UTF-8?q?Fix=20settings=20for=20Haiku=0A*=20fix=20paths=0A*=20fi?=
|
|
=?UTF-8?q?x=20default=20params=0A*=20add=20Noto=20Sans=20support?=
|
|
|
|
|
|
diff --git a/cr3qt/src/cr3widget.cpp b/cr3qt/src/cr3widget.cpp
|
|
index 2e1c784..a328172 100644
|
|
--- a/cr3qt/src/cr3widget.cpp
|
|
+++ b/cr3qt/src/cr3widget.cpp
|
|
@@ -347,7 +347,7 @@ void CR3View::updateDefProps()
|
|
_data->_props->setStringDef( PROP_WINDOW_SHOW_MENU, "1" );
|
|
_data->_props->setStringDef( PROP_WINDOW_SHOW_SCROLLBAR, "1" );
|
|
_data->_props->setStringDef( PROP_WINDOW_TOOLBAR_SIZE, "1" );
|
|
- _data->_props->setStringDef( PROP_WINDOW_SHOW_STATUSBAR, "0" );
|
|
+ _data->_props->setStringDef( PROP_WINDOW_SHOW_STATUSBAR, "1" );
|
|
_data->_props->setStringDef( PROP_APP_START_ACTION, "0" );
|
|
|
|
|
|
diff --git a/cr3qt/src/main.cpp b/cr3qt/src/main.cpp
|
|
index ed56449..008db81 100644
|
|
--- a/cr3qt/src/main.cpp
|
|
+++ b/cr3qt/src/main.cpp
|
|
@@ -123,7 +123,11 @@ int main(int argc, char *argv[])
|
|
lString16 home = Utf8ToUnicode(lString8(( getenv("HOME") ) ));
|
|
lString16 homecr3 = home;
|
|
LVAppendPathDelimiter(homecr3);
|
|
+#ifdef __HAIKU__
|
|
+ homecr3 << "config/settings/cr3";
|
|
+#else
|
|
homecr3 << ".cr3";
|
|
+#endif
|
|
LVAppendPathDelimiter(homecr3);
|
|
//~/.cr3/
|
|
lString16 homefonts = homecr3;
|
|
@@ -166,7 +170,7 @@ int main(int argc, char *argv[])
|
|
QString exeDir = QDir::toNativeSeparators(qApp->applicationDirPath() + "/Contents/Resources/"); //QDir::separator();
|
|
QString translations = exeDir + "i18n";
|
|
#else
|
|
-#if defined(_WIN32)
|
|
+#if defined(_WIN32) || defined(__HAIKU__)
|
|
QString exeDir = QDir::toNativeSeparators(qApp->applicationDirPath() + "/"); //QDir::separator();
|
|
QString translations = exeDir + "i18n";
|
|
#else
|
|
diff --git a/cr3qt/src/mainwindow.cpp b/cr3qt/src/mainwindow.cpp
|
|
index 7899171..f7a7c85 100644
|
|
--- a/cr3qt/src/mainwindow.cpp
|
|
+++ b/cr3qt/src/mainwindow.cpp
|
|
@@ -74,6 +74,10 @@ MainWindow::MainWindow(QWidget *parent)
|
|
addAction(ui->actionNextSentence);
|
|
addAction(ui->actionPrevSentence);
|
|
|
|
+#ifdef __HAIKU__
|
|
+ QString homeDir = QDir::toNativeSeparators(QDir::homePath() + "/config/settings/cr3/");
|
|
+ QString exeDir = QString(CR3_DATA_DIR);
|
|
+#else
|
|
#ifdef _LINUX
|
|
QString homeDir = QDir::toNativeSeparators(QDir::homePath() + "/.cr3/");
|
|
#else
|
|
@@ -84,6 +88,8 @@ MainWindow::MainWindow(QWidget *parent)
|
|
#else
|
|
QString exeDir = QDir::toNativeSeparators(qApp->applicationDirPath() + "/"); //QDir::separator();
|
|
#endif
|
|
+#endif
|
|
+#ifndef __HAIKU__
|
|
QString cacheDir = homeDir + "cache";
|
|
QString bookmarksDir = homeDir + "bookmarks";
|
|
QString histFile = exeDir + "cr3hist.bmk";
|
|
@@ -92,6 +98,16 @@ MainWindow::MainWindow(QWidget *parent)
|
|
QString iniFile = homeDir + "cr3.ini";
|
|
QString cssFile = homeDir + "fb2.css";
|
|
QString cssFile2 = exeDir + "fb2.css";
|
|
+#else
|
|
+ QString cacheDir = homeDir + "cache";
|
|
+ QString bookmarksDir = homeDir + "bookmarks";
|
|
+ QString histFile = homeDir + "cr3hist.bmk";
|
|
+ QString histFile2 = histFile;
|
|
+ QString iniFile = homeDir + "cr3.ini";
|
|
+ QString iniFile2 = iniFile;
|
|
+ QString cssFile = exeDir + "fb2.css";
|
|
+ QString cssFile2 = homeDir + "fb2.css";
|
|
+#endif
|
|
//QString translations = exeDir + "i18n";
|
|
//CRLog::info("Translations directory: %s", LCSTR(qt2cr(translations)) );
|
|
QString hyphDir = exeDir + "hyph" + QDir::separator();
|
|
diff --git a/cr3qt/src/settings.cpp b/cr3qt/src/settings.cpp
|
|
index 11b53bc..e2ecf48 100644
|
|
--- a/cr3qt/src/settings.cpp
|
|
+++ b/cr3qt/src/settings.cpp
|
|
@@ -84,6 +84,10 @@ SettingsDlg::SettingsDlg(QWidget *parent, CR3View * docView ) :
|
|
|
|
m_oldHyph = cr2qt(HyphMan::getSelectedDictionary()->getId());
|
|
|
|
+#ifdef __HAIKU__
|
|
+ QString homeDir = QDir::toNativeSeparators(QDir::homePath() + "/config/settings/cr3/");
|
|
+ QString exeDir = QString(CR3_DATA_DIR);
|
|
+#else
|
|
#ifdef _LINUX
|
|
QString homeDir = QDir::toNativeSeparators(QDir::homePath() + "/.cr3/");
|
|
#else
|
|
@@ -96,6 +100,7 @@ SettingsDlg::SettingsDlg(QWidget *parent, CR3View * docView ) :
|
|
#else
|
|
QString exeDir = QDir::toNativeSeparators(qApp->applicationDirPath() + "/"); //QDir::separator();
|
|
#endif
|
|
+#endif
|
|
|
|
lString16Collection baseDirs;
|
|
baseDirs.add(qt2cr(homeDir));
|
|
@@ -176,7 +181,7 @@ SettingsDlg::SettingsDlg(QWidget *parent, CR3View * docView ) :
|
|
m_ui->cbBookmarkHighlightMode->setCurrentIndex(highlight);
|
|
|
|
|
|
- int n = m_props->getIntDef( PROP_PAGE_MARGIN_LEFT, 8 );
|
|
+ int n = m_props->getIntDef( PROP_PAGE_MARGIN_LEFT, 30 );
|
|
int mi = 0;
|
|
for (int i=0; i < (int)MAX_MARGIN_INDEX; i++) {
|
|
if (n <= def_margins[i]) {
|
|
@@ -212,6 +217,9 @@ SettingsDlg::SettingsDlg(QWidget *parent, CR3View * docView ) :
|
|
|
|
const char * defFontFace = "DejaVu Sans";
|
|
static const char * goodFonts[] = {
|
|
+#ifdef __HAIKU__
|
|
+ "Noto Sans",
|
|
+#endif
|
|
"DejaVu Sans",
|
|
"FreeSans",
|
|
"Liberation Sans",
|
|
diff --git a/crengine/src/lvdocview.cpp b/crengine/src/lvdocview.cpp
|
|
index c84883a..c480b2c 100644
|
|
--- a/crengine/src/lvdocview.cpp
|
|
+++ b/crengine/src/lvdocview.cpp
|
|
@@ -87,9 +87,9 @@ const char
|
|
"body[name=\"notes\"] section[id] empty-line { display: inline }\n"
|
|
"code, pre { display: block; white-space: pre; font-family: \"Courier New\", monospace }\n";
|
|
|
|
-static const char * DEFAULT_FONT_NAME = "Arial, DejaVu Sans"; //Times New Roman";
|
|
+static const char * DEFAULT_FONT_NAME = "Arial, Noto Sans, DejaVu Sans"; //Times New Roman";
|
|
static const char * DEFAULT_STATUS_FONT_NAME =
|
|
- "Arial Narrow, Arial, DejaVu Sans"; //Times New Roman";
|
|
+ "Arial Narrow, Arial, Noto Sans, DejaVu Sans"; //Times New Roman";
|
|
static css_font_family_t DEFAULT_FONT_FAMILY = css_ff_sans_serif;
|
|
// css_ff_serif,
|
|
// css_ff_sans_serif,
|
|
@@ -5625,7 +5625,7 @@ void LVDocView::propsUpdateDefaults(CRPropRef props) {
|
|
props->setIntDef(PROP_DISPLAY_TURBO_UPDATE_MODE, 0);
|
|
|
|
lString8 defFontFace;
|
|
- static const char * goodFonts[] = { "DejaVu Sans", "FreeSans",
|
|
+ static const char * goodFonts[] = { "Noto Sans", "DejaVu Sans", "FreeSans",
|
|
"Liberation Sans", "Arial", "Verdana", NULL };
|
|
for (int i = 0; goodFonts[i]; i++) {
|
|
if (list.contains(lString16(goodFonts[i]))) {
|
|
--
|
|
2.13.1
|
|
|