Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Airyx changes #117

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ed54703
Start on Filer Cocoa integration & CoreServices
mszoek Jul 28, 2021
a5649e3
Add plist
mszoek Jul 28, 2021
908788f
Use bundle Resources. Handle ProgramArguments in plist. Fix wallpaper…
mszoek Aug 1, 2021
e319d81
Override plist args with cmd line
mszoek Aug 1, 2021
a1b0065
Airyx LaunchServices integration and improvements
mszoek Aug 5, 2021
3d3e5b0
Preparing for upstream merge with ifdef and removing ObjC - WIP
mszoek Aug 17, 2021
2e2089c
Codebase cleanup/refactoring for merge.
mszoek Aug 18, 2021
d3a890f
Wait for plasmashell to start
mszoek Aug 18, 2021
ff3c7e9
Fix crash on Get Info (mszoek/airyx#102) and formatting. Fix reading …
mszoek Aug 31, 2021
b9d1ee7
Wait a bit longer for plasma to fully start
mszoek Sep 3, 2021
8a2817c
Add support for "Reveal in Filer"
mszoek Sep 10, 2021
b909143
Minor optimization
mszoek Sep 11, 2021
b9acef5
Move --desktop arg out of Filer Info.plist
mszoek Sep 11, 2021
0ffec57
Ensure launch spec is NULLed
mszoek Sep 12, 2021
f775699
Scan for applications at startup to register with LaunchServices. Fix…
mszoek Sep 14, 2021
43d946e
Declare the Filer handles folders and volumes
mszoek Sep 18, 2021
13ccf8b
Move the AppHunter to primary instance
mszoek Sep 18, 2021
cdc4275
Merge branch 'helloSystem:master' into airyx
mszoek Sep 19, 2021
0203f94
Merge branch 'helloSystem:master' into airyx
mszoek Sep 19, 2021
7f66b4e
Fixed Filer 'about' dialog
mszoek Sep 30, 2021
06bf3ef
Update icon
mszoek Feb 6, 2022
a2c8c3a
Update Icons
KevDoy Feb 8, 2022
5f67d7d
Merge pull request #1 from KevDoy/airyx
mszoek Feb 10, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
cmake_minimum_required(VERSION 3.0.2)
project(filer-qt)
if(AIRYX)
project(Filer)
else()
project(filer-qt)
endif()

set(PCMANFM_QT_VERSION_MAJOR 0)
set(PCMANFM_QT_VERSION_MINOR 10)
Expand All @@ -11,6 +15,11 @@ set(LIBFM_QT_VERSION_MINOR 10)
set(LIBFM_QT_VERSION_PATCH 0)
set(LIBFM_QT_VERSION ${LIBFM_QT_VERSION_MAJOR}.${LIBFM_QT_VERSION_MINOR}.${LIBFM_QT_VERSION_PATCH})

if(AIRYX)
set(CMAKE_INSTALL_BINDIR "/Contents/Airyx")
set(CMAKE_INSTALL_DATAROOTDIR "/Contents/Resources")
endif()

list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

# We use the libtool versioning scheme for the internal so name, "current:revision:age"
Expand All @@ -28,6 +37,9 @@ find_package(Qt5Widgets 5.2 REQUIRED)
find_package(Qt5DBus 5.2 REQUIRED)
find_package(Qt5LinguistTools 5.2 REQUIRED)
find_package(Qt5X11Extras 5.2 REQUIRED)
if(AIRYX)
find_package(Qt5Xdg 3.7 REQUIRED)
endif()

find_package(PkgConfig)
pkg_check_modules(SYSTEM_LIBS REQUIRED
Expand Down Expand Up @@ -64,9 +76,15 @@ configure_file(
"${CMAKE_CURRENT_BINARY_DIR}/filer-qt.1"
@ONLY
)
if(AIRYX)
set(MAN1PATH "${CMAKE_INSTALL_DATAROOTDIR}")
else()
set(MAN1PATH "${CMAKE_INSTALL_MANDIR}/man1")
endif()

install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/filer-qt.1"
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
DESTINATION "${MAN1PATH}"
)

# add Doxygen support to generate API docs
Expand Down
51 changes: 51 additions & 0 deletions Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>Filer</string>
<key>CFBundleDisplayName</key>
<string>Filer</string>
<key>CFBundleIdentifier</key>
<string>org.airyx.Filer</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>OBJC</string>
<key>CFBundleExecutable</key>
<string>Filer</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright (C) 2021 Airyx Project</string>
<key>CFBundleIconFile</key>
<string>Icon.png</string>
<key>NSPrincipalClass</key>
<string></string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>public.folder</string>
</array>
<key>CFBundleTypeName</key>
<string>Folder</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>public.volume</string>
</array>
<key>CFBundleTypeName</key>
<string>Volume</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
</array>
</dict>
</plist>
16 changes: 16 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Filer is built by cmake. This dummy makefile just creates the .app bundle.

APP=Filer
SRCS=
MK_DEBUG_FILES=no
RESOURCES=
FRAMEWORKS=

build: Filer.app
cp -fv ${.CURDIR}/airyxOSFiler.png ${APP_DIR}/Contents/Resources/Icon.png
cp -fv ${.CURDIR}/Info.plist ${APP_DIR}/Contents

clean:
rm -f ${.CURDIR}/build/src/*.o

.include <airyx.app.mk>
Binary file added airyxOSFiler.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 29 additions & 12 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
set(LIBFM_LIBRARY "fm-qt5")
set(QTX_INCLUDE_DIRS "")
set(QTX_LIBRARIES Qt5::Widgets Qt5::DBus Qt5::X11Extras)
if(AIRYX)
set(QTX_LIBRARIES Qt5::Widgets Qt5::DBus Qt5::X11Extras Qt5Xdg)
set(EXEC_NAME "Filer")
set(PCMANFM_DIR "/Contents/Resources")
else()
set(QTX_LIBRARIES Qt5::Widgets Qt5::DBus Qt5::X11Extras)
set(EXEC_NAME "filer-qt")
set(PCMANFM_DIR "${CMAKE_INSTALL_PREFIX}/share/filer-qt")
endif()

include_directories(
${QTX_INCLUDE_DIRS}
Expand All @@ -17,6 +25,7 @@ link_directories(
)

set(filer_SRCS
airyx.cpp
bundle.cpp # probono
libfmqt.cpp
bookmarkaction.cpp
Expand Down Expand Up @@ -129,43 +138,51 @@ lxqt_translate_desktop(DESKTOP_FILES
if(APPLE)
set(CMAKE_INSTALL_RPATH "@executable_path") # Darwin, macOS
else()
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib") # FreeBSD
if(AIRYX)
set(CMAKE_INSTALL_RPATH "$ORIGIN/../Resources/lib") # Airyx
else()
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib") # FreeBSD
endif()
endif()
if(NOT LINUX)
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) # On Linux we let appimagetool handle it
endif()

add_executable(filer-qt

add_executable(${EXEC_NAME}
${filer_SRCS}
${filer_UIS_H}
${QM_FILES}
${DESKTOP_FILES}
)
set_property(
TARGET filer-qt APPEND
TARGET ${EXEC_NAME} APPEND
PROPERTY COMPILE_DEFINITIONS
LIBFM_QT_API=Q_DECL_IMPORT
PCMANFM_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/filer-qt"
PCMANFM_DATA_DIR="${PCMANFM_DIR}"
LIBFM_DATA_DIR="${LIBFM_PREFIX}/share/libfm" # This is a little bit dirty
PCMANFM_QT_VERSION="${PCMANFM_QT_VERSION}"
)

target_link_libraries(filer-qt
target_link_libraries(${EXEC_NAME}
${QTX_LIBRARIES}
${LIBFM_LIBRARIES}
${LIBMENUCACHE_LIBRARIES}
${SYSTEM_LIBS_LIBRARIES}
${SYSTEM_FRAMEWORKS}
)

install(TARGETS filer-qt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(TARGETS ${EXEC_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

# install a desktop entry file for filer-qt and desktop preferences
install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
)
if(NOT AIRYX)
# install a desktop entry file for filer-qt and desktop preferences
install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
)
endif()

install(FILES ${QM_FILES} DESTINATION "${CMAKE_INSTALL_DATADIR}/filer-qt/translations")
install(FILES ${QM_FILES} DESTINATION "${CMAKE_INSTALL_DATADIR}/translations")

# prevent the generated files from being deleted during make clean
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true)

qt5_use_modules(filer-qt Widgets DBus)
qt5_use_modules(${EXEC_NAME} Widgets DBus)
10 changes: 6 additions & 4 deletions src/about.ui
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>543</width>
<height>418</height>
<height>541</height>
</rect>
</property>
<property name="windowTitle">
Expand All @@ -24,7 +24,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap>icons/filer-256.png</pixmap>
<pixmap>./Resources/Icon.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
Expand Down Expand Up @@ -67,7 +67,7 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/probonopd/filer/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com/probonopd/filer/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mszoek/Filer/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://github.com/mszoek/Filer/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
Expand All @@ -80,7 +80,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<property name="tabsClosable">
<bool>false</bool>
Expand All @@ -97,6 +97,7 @@
</property>
<property name="plainText">
<string>Programming:
* Zoe Knox (mszoek)
* Simon Peter (probono)
* Chris Moore (moochris)
* Hong Jen Yee (PCMan) &lt;[email protected]&gt;
Expand Down Expand Up @@ -124,6 +125,7 @@ Application icon:
<property name="plainText">
<string>Filer

Copyright (C) 2021 Zoe Knox
Copyright (C) 2020-21 Simon Peter
Copyright (C) 2021 Chris Moore

Expand Down
Loading