Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ if(APPLE)
set(CMAKE_OSX_DEPLOYMENT_TARGET "13.0" CACHE STRING "Minimum OSX deployment version")
endif()

set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED 20)

Expand Down Expand Up @@ -93,6 +94,7 @@ include(KDEInstallDirs)
include(KDECMakeSettings)
include(ECMMarkNonGuiExecutable)
include(ECMSetupVersion)
include(ECMQmlModule)

#include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMEnableSanitizers)
Expand Down
59 changes: 0 additions & 59 deletions resources.qrc
Original file line number Diff line number Diff line change
@@ -1,64 +1,5 @@
<RCC>
<qresource prefix="/qml">
<file>src/gui/UserStatusMessageView.qml</file>
<file>src/gui/UserStatusSelectorPage.qml</file>
<file>src/gui/EmojiPicker.qml</file>
<file>src/gui/UserStatusSelectorButton.qml</file>
<file>src/gui/UserStatusSetStatusView.qml</file>
<file>src/gui/PredefinedStatusButton.qml</file>
<file>src/gui/ErrorBox.qml</file>
<file>src/gui/filedetails/FileActivityView.qml</file>
<file>src/gui/filedetails/FileDetailsPage.qml</file>
<file>src/gui/filedetails/FileDetailsView.qml</file>
<file>src/gui/filedetails/FileDetailsWindow.qml</file>
<file>src/gui/filedetails/FileTag.qml</file>
<file>src/gui/filedetails/NCInputDateField.qml</file>
<file>src/gui/filedetails/NCInputTextArea.qml</file>
<file>src/gui/filedetails/NCInputTextField.qml</file>
<file>src/gui/filedetails/NCTabButton.qml</file>
<file>src/gui/filedetails/ShareeDelegate.qml</file>
<file>src/gui/filedetails/ShareDelegate.qml</file>
<file>src/gui/filedetails/ShareDetailsPage.qml</file>
<file>src/gui/filedetails/ShareeSearchField.qml</file>
<file>src/gui/filedetails/ShareView.qml</file>
<file>src/gui/tray/MainWindow.qml</file>
<file>src/gui/tray/UserLine.qml</file>
<file>src/gui/tray/HeaderButton.qml</file>
<file>src/gui/tray/SyncStatus.qml</file>
<file>src/gui/tray/ActivityItem.qml</file>
<file>src/gui/tray/AutoSizingMenu.qml</file>
<file>src/gui/tray/ActivityList.qml</file>
<file>src/gui/tray/CurrentAccountHeaderButton.qml</file>
<file>src/gui/tray/TrayWindowHeader.qml</file>
<file>src/gui/tray/UnifiedSearchInputContainer.qml</file>
<file>src/gui/tray/UnifiedSearchResultFetchMoreTrigger.qml</file>
<file>src/gui/tray/UnifiedSearchResultItem.qml</file>
<file>src/gui/tray/UnifiedSearchResultItemSkeleton.qml</file>
<file>src/gui/tray/UnifiedSearchResultItemSkeletonContainer.qml</file>
<file>src/gui/tray/UnifiedSearchResultItemSkeletonGradientRectangle.qml</file>
<file>src/gui/tray/UnifiedSearchResultListItem.qml</file>
<file>src/gui/tray/UnifiedSearchResultNothingFound.qml</file>
<file>src/gui/tray/UnifiedSearchPlaceholderView.qml</file>
<file>src/gui/tray/UnifiedSearchResultSectionItem.qml</file>
<file>src/gui/tray/ActivityItemContextMenu.qml</file>
<file>src/gui/tray/ActivityItemActions.qml</file>
<file>src/gui/tray/ActivityItemContent.qml</file>
<file>src/gui/tray/TalkReplyTextField.qml</file>
<file>src/gui/tray/CallNotificationDialog.qml</file>
<file>src/gui/tray/EditFileLocallyLoadingDialog.qml</file>
<file>src/gui/tray/EncryptionTokenDiscoveryDialog.qml</file>
<file>src/gui/tray/NCBusyIndicator.qml</file>
<file>src/gui/tray/NCIconWithBackgroundImage.qml</file>
<file>src/gui/tray/NCProgressBar.qml</file>
<file>src/gui/tray/EnforcedPlainTextLabel.qml</file>
<file>theme/Style/Style.qml</file>
<file>theme/Style/qmldir</file>
<file>src/gui/tray/ListItemLineAndSubline.qml</file>
<file>src/gui/tray/TrayFoldersMenuButton.qml</file>
<file>src/gui/tray/TrayFolderListItem.qml</file>
<file>src/gui/ResolveConflictsDialog.qml</file>
<file>src/gui/ConflictDelegate.qml</file>
<file>src/gui/ConflictItemFileInfo.qml</file>
<file>src/gui/macOS/ui/FileProviderSettings.qml</file>
<file>src/gui/macOS/ui/FileProviderFileDelegate.qml</file>
<file>src/gui/integration/FileActionsWindow.qml</file>
Expand Down
3 changes: 3 additions & 0 deletions src/3rdparty/kirigami/wheelhandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@

#pragma once

#include <QGuiApplication>

Check failure on line 8 in src/3rdparty/kirigami/wheelhandler.h

View workflow job for this annotation

GitHub Actions / build

src/3rdparty/kirigami/wheelhandler.h:8:10 [clang-diagnostic-error]

'QGuiApplication' file not found
#include <QObject>
#include <QPoint>
#include <QQuickItem>
#include <QStyleHints>
#include <QtQml>
#include <qqmlregistration.h>

class QWheelEvent;
class WheelHandler;
Expand All @@ -21,6 +22,7 @@
class KirigamiWheelEvent : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(WheelEvent)

/**
* x: real
Expand Down Expand Up @@ -167,6 +169,7 @@
class WheelHandler : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(WheelHandler)

/**
* @brief This property holds the Qt Quick Flickable that the WheelHandler will control.
Expand Down
112 changes: 57 additions & 55 deletions src/gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -182,41 +182,10 @@ set(client_SRCS
emojimodel.cpp
syncconflictsmodel.h
syncconflictsmodel.cpp
fileactivitylistmodel.h
fileactivitylistmodel.cpp
filedetails/datefieldbackend.h
filedetails/datefieldbackend.cpp
filedetails/filedetails.h
filedetails/filedetails.cpp
filedetails/sharemodel.h
filedetails/sharemodel.cpp
filedetails/shareemodel.h
filedetails/shareemodel.cpp
filedetails/sortedsharemodel.h
filedetails/sortedsharemodel.cpp
tray/svgimageprovider.h
tray/svgimageprovider.cpp
tray/syncstatussummary.h
tray/syncstatussummary.cpp
tray/activitydata.h
tray/activitydata.cpp
tray/activitylistmodel.h
tray/activitylistmodel.cpp
tray/unifiedsearchresult.h
tray/asyncimageresponse.cpp
tray/unifiedsearchresult.cpp
tray/unifiedsearchresultslistmodel.h
tray/trayimageprovider.cpp
tray/unifiedsearchresultslistmodel.cpp
tray/usermodel.h
tray/usermodel.cpp
tray/notificationhandler.h
tray/notificationhandler.cpp
tray/sortedactivitylistmodel.h
tray/sortedactivitylistmodel.cpp
creds/credentialsfactory.h
tray/talkreply.cpp
creds/credentialsfactory.cpp
types.h
types.cpp
creds/httpcredentialsgui.h
creds/httpcredentialsgui.cpp
creds/flow2auth.h
Expand Down Expand Up @@ -520,29 +489,51 @@ if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
endif()

add_library(nextcloudCore STATIC ${final_src})
add_library(nextcloudCore STATIC)

set_source_files_properties(Style.qml
PROPERTIES QT_QML_SINGLETON_TYPE TRUE)

ecm_add_qml_module(nextcloudCore
URI com.nextcloud.desktopclient
GENERATE_PLUGIN_SOURCE
IMPORTS
com.nextcloud.desktopclient.tray
com.nextcloud.desktopclient.filedetails
QML_FILES
UserStatusMessageView.qml
UserStatusSelectorPage.qml
EmojiPicker.qml
UserStatusSelectorButton.qml
UserStatusSetStatusView.qml
PredefinedStatusButton.qml
ErrorBox.qml
Style.qml
SOURCES
${final_src}
)

target_link_libraries(nextcloudCore
PUBLIC
Nextcloud::sync
Qt::Widgets
Qt::Svg
Qt::Network
Qt::Xml
Qt::Qml
Qt::Quick
Qt::QuickControls2
Qt::QuickWidgets
KF6::Archive
KDAB::kdsingleapplication
)
target_link_libraries(nextcloudCore PUBLIC
Nextcloud::sync
Qt::Widgets
Qt::Svg
Qt::Network
Qt::Xml
Qt::Qml
Qt::Quick
Qt::QuickControls2
Qt::QuickWidgets
KF6::Archive
KDAB::kdsingleapplication
)

if(KF6GuiAddons_FOUND)
target_link_libraries(nextcloudCore
PUBLIC
KF6::GuiAddons
)
add_definitions(-DHAVE_KGUIADDONS)
target_include_directories(nextcloudCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

if(TARGET KF6::GuiAddons)
target_link_libraries(nextcloudCore PUBLIC
KF6::GuiAddons
)
add_definitions(-DHAVE_KGUIADDONS)
endif()

add_subdirectory(socketapi)
Expand Down Expand Up @@ -575,6 +566,9 @@ target_include_directories(nextcloudCore
${CMAKE_CURRENT_SOURCE_DIR}
)

add_subdirectory(tray)
add_subdirectory(filedetails)

if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
if(NOT WIN32)
file(GLOB _icons "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-icon.png")
Expand Down Expand Up @@ -638,7 +632,15 @@ set_target_properties(nextcloud PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIRECTORY}
)

target_link_libraries(nextcloud PRIVATE nextcloudCore)
set_target_properties(nextcloud PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_link_libraries(nextcloud PRIVATE
nextcloudTray
nextcloudTrayplugin
nextcloudFileDetails
nextcloudFileDetailsplugin
nextcloudCore
nextcloudCoreplugin
)

if(TARGET PkgConfig::CLOUDPROVIDERS)
message("Building with libcloudproviderssupport")
Expand Down
1 change: 0 additions & 1 deletion src/gui/ConflictDelegate.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import Style
import com.nextcloud.desktopclient
import "./tray"

Expand Down
1 change: 0 additions & 1 deletion src/gui/ConflictItemFileInfo.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import Style
import "./tray"

Item {
Expand Down
3 changes: 1 addition & 2 deletions src/gui/EmojiPicker.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

import Style
import com.nextcloud.desktopclient 1.0 as NC
import com.nextcloud.desktopclient as NC
import "./tray"

ColumnLayout {
Expand Down
1 change: 0 additions & 1 deletion src/gui/ErrorBox.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls

import Style
import "./tray"

Item {
Expand Down
1 change: 0 additions & 1 deletion src/gui/PredefinedStatusButton.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls

import Style
import "./tray"

AbstractButton {
Expand Down
1 change: 0 additions & 1 deletion src/gui/ResolveConflictsDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import QtQuick.Window as QtWindow
import QtQuick.Layouts
import QtQuick.Controls
import QtQml.Models
import Style
import com.nextcloud.desktopclient
import "./tray"

Expand Down
10 changes: 5 additions & 5 deletions theme/Style/Style.qml → src/gui/Style.qml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ pragma Singleton

import QtQuick

import com.nextcloud.desktopclient
import com.nextcloud.desktopclient.tray

QtObject {
readonly property int pixelSize: fontMetrics.font.pixelSize
readonly property bool darkMode: Theme.darkMode
readonly property bool darkMode: Theme ? Theme.darkMode : false

// Colors
readonly property color ncBlue: Theme.wizardHeaderBackgroundColor
Expand All @@ -17,7 +17,7 @@ QtObject {

readonly property color currentUserHeaderColor: UserModel.currentUser ? UserModel.currentUser.headerColor : ncBlue
readonly property color currentUserHeaderTextColor: UserModel.currentUser ? UserModel.currentUser.headerTextColor : ncHeaderTextColor
readonly property color adjustedCurrentUserHeaderColor: Theme.darkMode ? Qt.lighter(currentUserHeaderColor, 2)
readonly property color adjustedCurrentUserHeaderColor: Theme?.darkMode ? Qt.lighter(currentUserHeaderColor, 2)
: Qt.darker(currentUserHeaderColor, 1.5)

// ErrorBox colors
Expand Down Expand Up @@ -85,8 +85,8 @@ QtObject {
property int slightlyRoundedButtonRadius: 5
property double hoverOpacity: 0.7

property url stateOnlineImageSource: Theme.stateOnlineImageSource
property url stateOfflineImageSource: Theme.stateOfflineImageSource
property url stateOnlineImageSource: Theme?.stateOnlineImageSource
property url stateOfflineImageSource: Theme?.stateOfflineImageSource

property int accountAvatarSize: (trayWindowHeaderHeight - 16)
property int accountAvatarStateIndicatorSize: 16
Expand Down
1 change: 0 additions & 1 deletion src/gui/UserStatusMessageView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import QtQuick.Controls
import QtQuick.Window

import com.nextcloud.desktopclient as NC
import Style

import "./tray"

Expand Down
1 change: 0 additions & 1 deletion src/gui/UserStatusSelectorButton.qml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import QtQuick
import QtQuick.Layouts
import QtQuick.Controls

import Style

import "./tray"

Expand Down
1 change: 0 additions & 1 deletion src/gui/UserStatusSelectorPage.qml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Style

import com.nextcloud.desktopclient as NC

Expand Down
Loading
Loading