mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-26 07:55:44 -04:00
Merge pull request #2602 from csoler/v0.6-cmake
added cmake list for files in GUI
This commit is contained in:
commit
7532efd5fc
18 changed files with 2206 additions and 469 deletions
492
retroshare-gui/CMakeLists.txt
Normal file
492
retroshare-gui/CMakeLists.txt
Normal file
|
@ -0,0 +1,492 @@
|
||||||
|
################################################################################
|
||||||
|
# retroshare-gui/CMakeLists.txt #
|
||||||
|
# Copyright (C) 2022, Retroshare team <retroshare.team@gmailcom> #
|
||||||
|
# #
|
||||||
|
# This program is free software: you can redistribute it and/or modify #
|
||||||
|
# it under the terms of the GNU Affero General Public License as #
|
||||||
|
# published by the Free Software Foundation, either version 3 of the #
|
||||||
|
# License, or (at your option) any later version. #
|
||||||
|
# #
|
||||||
|
# This program is distributed in the hope that it will be useful, #
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||||
|
# GNU Affero General Public License for more details. #
|
||||||
|
# #
|
||||||
|
# You should have received a copy of the GNU Affero General Public License #
|
||||||
|
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
cmake_minimum_required (VERSION 3.18.0)
|
||||||
|
project(retroshare-gui VERSION 0.6.6 LANGUAGES CXX)
|
||||||
|
|
||||||
|
include(CMakeDependentOption)
|
||||||
|
|
||||||
|
set(
|
||||||
|
RS_BIN_INSTALL_DIR
|
||||||
|
"${CMAKE_INSTALL_PREFIX}/bin"
|
||||||
|
CACHE PATH
|
||||||
|
"Path where to install retroshare-service compiled binary" )
|
||||||
|
|
||||||
|
option(
|
||||||
|
RS_DEVELOPMENT_BUILD
|
||||||
|
"Disable optimization to speed up build, enable verbose build log. \
|
||||||
|
just for development purposes, not suitable for library usage"
|
||||||
|
ON )
|
||||||
|
|
||||||
|
option(
|
||||||
|
RS_JSON_API
|
||||||
|
"Use restbed to expose libretroshare as JSON API via HTTP"
|
||||||
|
OFF )
|
||||||
|
|
||||||
|
option(
|
||||||
|
RS_SERVICE_DESKTOP
|
||||||
|
"Install icons and shortcuts for desktop environements"
|
||||||
|
OFF )
|
||||||
|
|
||||||
|
option(
|
||||||
|
RS_SERVICE_TERMINAL_LOGIN
|
||||||
|
"Enable RetroShare login via terminal"
|
||||||
|
ON )
|
||||||
|
|
||||||
|
option( RS_GXSGUI "Enable GXS services in GUI" ON )
|
||||||
|
option( RS_GXSCHANNELS "Enable GXS channels in GUI" ON )
|
||||||
|
option( RS_GXSFORUMS "Enable GXS forums in GUI" ON )
|
||||||
|
option( RS_GXSPOSTED "Enable GXS posted in GUI" ON )
|
||||||
|
option( RS_GXSCIRCLES "Enable GXS circles in GUI" ON )
|
||||||
|
|
||||||
|
cmake_dependent_option(
|
||||||
|
RS_SERVICE_TERMINAL_WEBUI_PASSWORD
|
||||||
|
"Enable settin Web UI password via terminal in retroshare-service"
|
||||||
|
OFF
|
||||||
|
"RS_WEBUI"
|
||||||
|
ON )
|
||||||
|
|
||||||
|
cmake_dependent_option(
|
||||||
|
RS_WEBUI
|
||||||
|
"Install RetroShare Web UI"
|
||||||
|
OFF
|
||||||
|
"RS_JSON_API"
|
||||||
|
ON )
|
||||||
|
|
||||||
|
################################ QT FILES #######################################
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
find_package( Qt5 COMPONENTS Core REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Widgets REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Xml REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Network REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS Multimedia REQUIRED)
|
||||||
|
find_package( Qt5 COMPONENTS PrintSupport REQUIRED)
|
||||||
|
|
||||||
|
list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
set(FETCHCONTENT_QUIET OFF)
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
find_package(Git REQUIRED)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
if(RS_DEVELOPMENT_BUILD)
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
endif(RS_DEVELOPMENT_BUILD)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
include(src/CMakeLists.txt)
|
||||||
|
|
||||||
|
qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS})
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES})
|
||||||
|
install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR})
|
||||||
|
|
||||||
|
include_directories( ${CMAKE_BINARY_DIR} )
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
if(RS_DEVELOPMENT_BUILD)
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE "-O0")
|
||||||
|
endif(RS_DEVELOPMENT_BUILD)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
set(LIBRETROSHARE_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../libretroshare/")
|
||||||
|
if(EXISTS "${LIBRETROSHARE_DEVEL_DIR}/.git" )
|
||||||
|
message(
|
||||||
|
STATUS
|
||||||
|
"libretroshare submodule found at ${LIBRETROSHARE_DEVEL_DIR} using it" )
|
||||||
|
add_subdirectory(
|
||||||
|
"${LIBRETROSHARE_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libretroshare" )
|
||||||
|
else()
|
||||||
|
FetchContent_Declare(
|
||||||
|
libretroshare
|
||||||
|
GIT_REPOSITORY "https://gitlab.com/RetroShare/libretroshare.git"
|
||||||
|
GIT_TAG "origin/master"
|
||||||
|
GIT_SHALLOW TRUE
|
||||||
|
GIT_PROGRESS TRUE
|
||||||
|
TIMEOUT 10
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(libretroshare)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE ${LIBRETROSHARE_DEVEL_DIR}/src/)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
if(RS_SERVICE_DESKTOP)
|
||||||
|
if(UNIX AND NOT APPLE)
|
||||||
|
install(
|
||||||
|
FILES data/retroshare.svg
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/ )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/retroshare.xpm
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/ )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/24x24/apps/retroshare.png
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/24x24/apps/retroshare.png )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/48x48/apps/retroshare.png
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps/retroshare.png )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/64x64/apps/retroshare.png
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps/retroshare.png )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/128x128/apps/retroshare.png
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps/retroshare.png )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES data/retroshare.desktop
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/data/retroshare.desktop )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES gui/qss/chat/Bubble gui/qss/chat/Bubble_Compact
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/data/stylesheets/ )
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES src/sounds/ src/qss/
|
||||||
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/ )
|
||||||
|
endif(UNIX AND NOT APPLE)
|
||||||
|
endif(RS_SERVICE_DESKTOP)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
if(RS_JSON_API)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_JSONAPI)
|
||||||
|
endif(RS_JSON_API)
|
||||||
|
|
||||||
|
################################# CMark ########################################
|
||||||
|
|
||||||
|
if(RS_GUI_CMARK)
|
||||||
|
set(CMARK_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/cmark/")
|
||||||
|
if(EXISTS "${LIBRETROSHARE_DEVEL_DIR}/.git" )
|
||||||
|
message( STATUS "cmark submodule found at ${LIBRETROSHARE_DEVEL_DIR} using it" )
|
||||||
|
add_subdirectory( "${LIBRETROSHARE_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/cmark" )
|
||||||
|
else()
|
||||||
|
FetchContent_Declare(
|
||||||
|
cmark
|
||||||
|
GIT_REPOSITORY "https://github.com/commonmark/cmark.git"
|
||||||
|
GIT_TAG "origin/master"
|
||||||
|
GIT_SHALLOW TRUE
|
||||||
|
GIT_PROGRESS TRUE
|
||||||
|
TIMEOUT 10
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(cmark)
|
||||||
|
endif()
|
||||||
|
endif(RS_GUI_CMARK)
|
||||||
|
|
||||||
|
################################# LibSam v3 ####################################
|
||||||
|
|
||||||
|
set(SAM3_DEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../supportlibs/libsam3/")
|
||||||
|
if(EXISTS "${SAM3_DEVEL_DIR}/.git" )
|
||||||
|
message( STATUS "libsam3 submodule found at ${SAM3_DEVEL_DIR} using it" )
|
||||||
|
add_subdirectory( "${SAM3_DEVEL_DIR}" "${CMAKE_BINARY_DIR}/libsam3" )
|
||||||
|
else()
|
||||||
|
FetchContent_Declare(
|
||||||
|
libsam3
|
||||||
|
GIT_REPOSITORY "https://github.com/i2p/libsam3.git"
|
||||||
|
GIT_TAG "origin/master"
|
||||||
|
GIT_SHALLOW TRUE
|
||||||
|
GIT_PROGRESS TRUE
|
||||||
|
TIMEOUT 10
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(libsam3)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# TODO #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# # Auto detect installed version of cmark
|
||||||
|
# rs_gui_cmark {
|
||||||
|
# DEFINES *= USE_CMARK
|
||||||
|
# no_rs_cross_compiling {
|
||||||
|
# message("Using compiled cmark")
|
||||||
|
# CMARK_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/cmark)
|
||||||
|
# CMARK_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/cmark/build)
|
||||||
|
# INCLUDEPATH *= $$clean_path($${CMARK_SRC_PATH}/src/)
|
||||||
|
# DEPENDPATH *= $$clean_path($${CMARK_SRC_PATH}/src/)
|
||||||
|
# QMAKE_LIBDIR *= $$clean_path($${CMARK_BUILD_PATH}/)
|
||||||
|
# # Using sLibs would fail as libcmark.a is generated at compile-time
|
||||||
|
# LIBS *= -L$$clean_path($${CMARK_BUILD_PATH}/src/) -lcmark
|
||||||
|
#
|
||||||
|
# DUMMYCMARKINPUT = FORCE
|
||||||
|
# CMAKE_GENERATOR_OVERRIDE=""
|
||||||
|
# win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||||
|
# gencmarklib.name = Generating libcmark.
|
||||||
|
# gencmarklib.input = DUMMYCMARKINPUT
|
||||||
|
# gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a)
|
||||||
|
# gencmarklib.CONFIG += target_predeps combine
|
||||||
|
# gencmarklib.variable_out = PRE_TARGETDEPS
|
||||||
|
# gencmarklib.commands = \
|
||||||
|
# cd $${RS_SRC_PATH} && ( \
|
||||||
|
# git submodule update --init supportlibs/cmark ; \
|
||||||
|
# cd $${CMARK_SRC_PATH} ; \
|
||||||
|
# true ) && \
|
||||||
|
# mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \
|
||||||
|
# cmake \
|
||||||
|
# -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||||
|
# \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||||
|
# $${CMAKE_GENERATOR_OVERRIDE} \
|
||||||
|
# -DCMAKE_INSTALL_PREFIX=. \
|
||||||
|
# -B. \
|
||||||
|
# -H$$shell_path($${CMARK_SRC_PATH}) && \
|
||||||
|
# $(MAKE)
|
||||||
|
# QMAKE_EXTRA_COMPILERS += gencmarklib
|
||||||
|
# } else {
|
||||||
|
# message("Using systems cmark")
|
||||||
|
# sLibs *= libcmark
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
################################# Linux ##########################################
|
||||||
|
# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
|
||||||
|
pkg_check_modules(X11 REQUIRED x11)
|
||||||
|
pkg_check_modules(XSCRNSAVER REQUIRED xscrnsaver)
|
||||||
|
|
||||||
|
list( APPEND RS_LINK_LIBRARIES ${X11_LIBRARIES} )
|
||||||
|
list( APPEND RS_LINK_LIBRARIES ${XSCRNSAVER_LIBRARIES} )
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE ${X11_INCLUDE_DIRS})
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE ${X11_CFLAGS_OTHER})
|
||||||
|
|
||||||
|
target_include_directories(retroshare-gui PRIVATE ${XSCRNSAVER_INCLUDE_DIRS})
|
||||||
|
target_compile_options(retroshare-gui PRIVATE ${XSCRNSAVER_CFLAGS_OTHER})
|
||||||
|
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_XSS)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE _FILE_OFFSET_BITS=64)
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE LINKER:-rdynamic)
|
||||||
|
endif(UNIX)
|
||||||
|
|
||||||
|
if(RS_SANITIZE)
|
||||||
|
list( APPEND RS_LINK_LIBRARIES asan )
|
||||||
|
list( APPEND RS_LINK_LIBRARIES ubsan )
|
||||||
|
endif(RS_SANITIZE)
|
||||||
|
|
||||||
|
# #################### Cross compilation for windows under Linux ###################
|
||||||
|
#
|
||||||
|
# win32-x-g++ {
|
||||||
|
# OBJECTS_DIR = temp/win32-x-g++/obj
|
||||||
|
#
|
||||||
|
# LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a
|
||||||
|
# LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a
|
||||||
|
# LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a
|
||||||
|
# LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a
|
||||||
|
# LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a
|
||||||
|
# LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2
|
||||||
|
# LIBS += -lQtUiTools
|
||||||
|
# LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
|
||||||
|
# LIBS += -lole32 -lwinmm
|
||||||
|
#
|
||||||
|
# DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU
|
||||||
|
#
|
||||||
|
# INCLUDEPATH += ../../../../gpgme-1.1.8/src/
|
||||||
|
# INCLUDEPATH += ../../../../libgpg-error-1.7/src/
|
||||||
|
#
|
||||||
|
# RC_FILE = gui/images/retroshare_win.rc
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# #################################### Windows #####################################
|
||||||
|
#
|
||||||
|
# win32-g++|win32-clang-g++ {
|
||||||
|
# CONFIG(debug, debug|release) {
|
||||||
|
# # show console output
|
||||||
|
# CONFIG += console
|
||||||
|
# } else {
|
||||||
|
# CONFIG -= console
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# CONFIG(debug, debug|release) {
|
||||||
|
# } else {
|
||||||
|
# # Tell linker to use ASLR protection
|
||||||
|
# QMAKE_LFLAGS += -Wl,-dynamicbase
|
||||||
|
# # Tell linker to use DEP protection
|
||||||
|
# QMAKE_LFLAGS += -Wl,-nxcompat
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# # Fix linking error (ld.exe: Error: export ordinal too large) due to too
|
||||||
|
# # many exported symbols.
|
||||||
|
# !libretroshare_shared:QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL
|
||||||
|
#
|
||||||
|
# # Switch off optimization for release version
|
||||||
|
# QMAKE_CXXFLAGS_RELEASE -= -O2
|
||||||
|
# QMAKE_CXXFLAGS_RELEASE += -O0
|
||||||
|
# QMAKE_CFLAGS_RELEASE -= -O2
|
||||||
|
# QMAKE_CFLAGS_RELEASE += -O0
|
||||||
|
#
|
||||||
|
# # Switch on optimization for debug version
|
||||||
|
# #QMAKE_CXXFLAGS_DEBUG += -O2
|
||||||
|
# #QMAKE_CFLAGS_DEBUG += -O2
|
||||||
|
#
|
||||||
|
# OBJECTS_DIR = temp/obj
|
||||||
|
#
|
||||||
|
# dLib = ws2_32 gdi32 uuid ole32 iphlpapi crypt32 winmm
|
||||||
|
# LIBS *= $$linkDynamicLibs(dLib)
|
||||||
|
#
|
||||||
|
# RC_FILE = gui/images/retroshare_win.rc
|
||||||
|
#
|
||||||
|
# # export symbols for the plugins
|
||||||
|
# LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a
|
||||||
|
#
|
||||||
|
# # create lib directory
|
||||||
|
# isEmpty(QMAKE_SH) {
|
||||||
|
# QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib
|
||||||
|
# } else {
|
||||||
|
# QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# greaterThan(QT_MAJOR_VERSION, 4) {
|
||||||
|
# # Qt 5
|
||||||
|
# RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src
|
||||||
|
# } else {
|
||||||
|
# # Qt 4
|
||||||
|
# QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ##################################### MacOS ######################################
|
||||||
|
#
|
||||||
|
# macx {
|
||||||
|
# # ENABLE THIS OPTION FOR Univeral Binary BUILD.
|
||||||
|
# #CONFIG += ppc x86
|
||||||
|
# #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4
|
||||||
|
# QMAKE_INFO_PLIST = Info.plist
|
||||||
|
# mac_icon.files = $$files($$PWD/rsMacIcon.icns)
|
||||||
|
# mac_icon.path = Contents/Resources
|
||||||
|
# QMAKE_BUNDLE_DATA += mac_icon
|
||||||
|
# dplQSS.files = $$PWD/qss
|
||||||
|
# dplQSS.path = Contents/Resources
|
||||||
|
# QMAKE_BUNDLE_DATA += dplQSS
|
||||||
|
# dplChatStyles.files = \
|
||||||
|
# $$PWD/gui/qss/chat/Bubble \
|
||||||
|
# $$PWD/gui/qss/chat/Bubble_Compact
|
||||||
|
# dplChatStyles.path = Contents/Resources/stylesheets
|
||||||
|
# QMAKE_BUNDLE_DATA += dplChatStyles
|
||||||
|
# # mac_webui.files = $$files($$PWD/../../libresapi/src/webui)
|
||||||
|
# # mac_webui.path = Contents/Resources
|
||||||
|
# # QMAKE_BUNDLE_DATA += mac_webui
|
||||||
|
#
|
||||||
|
# OBJECTS_DIR = temp/obj
|
||||||
|
#
|
||||||
|
# CONFIG += version_detail_bash_script
|
||||||
|
# LIBS += -lssl -lcrypto -lz
|
||||||
|
# for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a}
|
||||||
|
# LIBS += -framework CoreFoundation
|
||||||
|
# LIBS += -framework Security
|
||||||
|
# LIBS += -framework Carbon
|
||||||
|
#
|
||||||
|
# for(lib, LIB_DIR):LIBS += -L"$$lib"
|
||||||
|
# for(bin, BIN_DIR):LIBS += -L"$$bin"
|
||||||
|
#
|
||||||
|
# DEPENDPATH += . $$INC_DIR
|
||||||
|
# INCLUDEPATH += . $$INC_DIR
|
||||||
|
#
|
||||||
|
# #DEFINES *= MAC_IDLE # for idle feature
|
||||||
|
# CONFIG -= uitools
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ##################################### FreeBSD ######################################
|
||||||
|
#
|
||||||
|
# freebsd-* {
|
||||||
|
# INCLUDEPATH *= /usr/local/include/gpgme
|
||||||
|
# LIBS *= -lssl
|
||||||
|
# LIBS *= -lgpgme
|
||||||
|
# LIBS *= -lupnp
|
||||||
|
# LIBS *= -lgnome-keyring
|
||||||
|
#
|
||||||
|
# LIBS += -lsqlite3
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ##################################### Haiku ######################################
|
||||||
|
#
|
||||||
|
# haiku-* {
|
||||||
|
# PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
|
||||||
|
# PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
|
||||||
|
#
|
||||||
|
# LIBS *= ../../libretroshare/src/lib/libretroshare.a
|
||||||
|
# LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd
|
||||||
|
# LIBS *= -lssl -lcrypto -lnetwork
|
||||||
|
# LIBS *= -lgpgme
|
||||||
|
# LIBS *= -lupnp
|
||||||
|
# LIBS *= -lz
|
||||||
|
# LIBS *= -lixml
|
||||||
|
#
|
||||||
|
# LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
|
||||||
|
# LIBS += -lsqlite3
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ##################################### OpenBSD ######################################
|
||||||
|
#
|
||||||
|
# openbsd-* {
|
||||||
|
# INCLUDEPATH *= /usr/local/include
|
||||||
|
#
|
||||||
|
# LIBS *= -lssl -lcrypto
|
||||||
|
# LIBS *= -lgpgme
|
||||||
|
# LIBS *= -lupnp
|
||||||
|
# LIBS *= -lgnome-keyring
|
||||||
|
# LIBS += -lsqlite3
|
||||||
|
# LIBS *= -rdynamic
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# ################################### COMMON stuff ##################################
|
||||||
|
#
|
||||||
|
# wikipoos {
|
||||||
|
# PRE_TARGETDEPS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
|
||||||
|
# LIBS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
|
||||||
|
# LIBS *= -lglib-2.0
|
||||||
|
# }
|
||||||
|
|
||||||
|
################################ GENERAL #######################################
|
||||||
|
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${RS_LINK_LIBRARIES})
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/)
|
||||||
|
|
||||||
|
set( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations" )
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PUBLIC RS_NO_WARN_DEPRECATED )
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_RELEASE_VERSION )
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE TARGET=\"retroshare\")
|
||||||
|
|
||||||
|
if(RS_GXS_CIRCLES)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE RS_USE_CIRCLES )
|
||||||
|
endif(RS_GXS_CIRCLES)
|
||||||
|
|
||||||
|
#add_dependencies(${PROJECT_NAME} libretroshare)
|
||||||
|
|
1279
retroshare-gui/src/CMakeLists.txt
Normal file
1279
retroshare-gui/src/CMakeLists.txt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "AboutDialog.h"
|
#include "AboutDialog.h"
|
||||||
#include "HelpDialog.h"
|
#include "HelpDialog.h"
|
||||||
#include "qmake_info.h"
|
#include "include/qmake_info.h"
|
||||||
#include "rshare.h"
|
#include "rshare.h"
|
||||||
|
|
||||||
#ifdef RS_JSONAPI
|
#ifdef RS_JSONAPI
|
||||||
|
|
|
@ -32,6 +32,8 @@
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(FileProgressInfo)
|
Q_DECLARE_METATYPE(FileProgressInfo)
|
||||||
|
|
||||||
|
#define MAX_CHAR_TMP 128
|
||||||
|
|
||||||
DLListDelegate::DLListDelegate(QObject *parent) : QAbstractItemDelegate(parent)
|
DLListDelegate::DLListDelegate(QObject *parent) : QAbstractItemDelegate(parent)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,55 +18,40 @@
|
||||||
* *
|
* *
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef DLLISTDELEGATE_H
|
#pragma once
|
||||||
#define DLLISTDELEGATE_H
|
|
||||||
|
|
||||||
#include <QAbstractItemDelegate>
|
#include <QAbstractItemDelegate>
|
||||||
#include "xprogressbar.h"
|
#include "xprogressbar.h"
|
||||||
|
|
||||||
|
|
||||||
// Defines for download list list columns
|
|
||||||
#define COLUMN_NAME 0
|
|
||||||
#define COLUMN_SIZE 1
|
|
||||||
#define COLUMN_COMPLETED 2
|
|
||||||
#define COLUMN_DLSPEED 3
|
|
||||||
#define COLUMN_PROGRESS 4
|
|
||||||
#define COLUMN_SOURCES 5
|
|
||||||
#define COLUMN_STATUS 6
|
|
||||||
#define COLUMN_PRIORITY 7
|
|
||||||
#define COLUMN_REMAINING 8
|
|
||||||
#define COLUMN_DOWNLOADTIME 9
|
|
||||||
#define COLUMN_ID 10
|
|
||||||
#define COLUMN_LASTDL 11
|
|
||||||
#define COLUMN_PATH 12
|
|
||||||
#define COLUMN_COUNT 13
|
|
||||||
|
|
||||||
#define PRIORITY_NULL 0.0
|
|
||||||
#define PRIORITY_FASTER 0.1
|
|
||||||
#define PRIORITY_AVERAGE 0.2
|
|
||||||
#define PRIORITY_SLOWER 0.3
|
|
||||||
|
|
||||||
#define MAX_CHAR_TMP 128
|
|
||||||
|
|
||||||
class QModelIndex;
|
class QModelIndex;
|
||||||
class QPainter;
|
class QPainter;
|
||||||
|
|
||||||
|
class DLListDelegate: public QAbstractItemDelegate
|
||||||
class DLListDelegate: public QAbstractItemDelegate {
|
{
|
||||||
|
public:
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
DLListDelegate(QObject *parent=0);
|
DLListDelegate(QObject *parent=0);
|
||||||
virtual ~DLListDelegate(){}
|
virtual ~DLListDelegate(){}
|
||||||
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
||||||
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const;
|
QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const;
|
||||||
|
|
||||||
private:
|
static constexpr int COLUMN_NAME = 0;
|
||||||
|
static constexpr int COLUMN_SIZE = 1;
|
||||||
|
static constexpr int COLUMN_COMPLETED = 2;
|
||||||
|
static constexpr int COLUMN_DLSPEED = 3;
|
||||||
|
static constexpr int COLUMN_PROGRESS = 4;
|
||||||
|
static constexpr int COLUMN_SOURCES = 5;
|
||||||
|
static constexpr int COLUMN_STATUS = 6;
|
||||||
|
static constexpr int COLUMN_PRIORITY = 7;
|
||||||
|
static constexpr int COLUMN_REMAINING = 8;
|
||||||
|
static constexpr int COLUMN_DOWNLOADTIME= 9;
|
||||||
|
static constexpr int COLUMN_ID = 10;
|
||||||
|
static constexpr int COLUMN_LASTDL = 11;
|
||||||
|
static constexpr int COLUMN_PATH = 12;
|
||||||
|
static constexpr int COLUMN_COUNT = 13;
|
||||||
|
|
||||||
public slots:
|
static constexpr float PRIORITY_NULL = 0.0;
|
||||||
|
static constexpr float PRIORITY_FASTER = 0.1;
|
||||||
signals:
|
static constexpr float PRIORITY_AVERAGE = 0.2;
|
||||||
|
static constexpr float PRIORITY_SLOWER = 0.3;
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,16 @@
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_NAME 0
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_FILENB 1
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_SIZE 2
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_AGE 3
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS 4
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR 5
|
||||||
|
#define SHARED_FILES_DIALOG_COLUMN_COUNT 6
|
||||||
|
|
||||||
|
#define SHARED_FILES_DIALOG_FILTER_STRING "filtered"
|
||||||
|
|
||||||
/* Images for context menu icons */
|
/* Images for context menu icons */
|
||||||
#define IMAGE_DOWNLOAD ":/icons/png/download.png"
|
#define IMAGE_DOWNLOAD ":/icons/png/download.png"
|
||||||
#define IMAGE_PLAY ":/images/start.png"
|
#define IMAGE_PLAY ":/images/start.png"
|
||||||
|
@ -187,17 +197,17 @@ SharedFilesDialog::SharedFilesDialog(bool remote_mode, QWidget *parent)
|
||||||
tree_proxyModel->setSourceModel(tree_model);
|
tree_proxyModel->setSourceModel(tree_model);
|
||||||
tree_proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
tree_proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||||
tree_proxyModel->setSortRole(RetroshareDirModel::SortRole);
|
tree_proxyModel->setSortRole(RetroshareDirModel::SortRole);
|
||||||
tree_proxyModel->sort(COLUMN_NAME);
|
tree_proxyModel->sort(SHARED_FILES_DIALOG_COLUMN_NAME);
|
||||||
tree_proxyModel->setFilterRole(RetroshareDirModel::FilterRole);
|
tree_proxyModel->setFilterRole(RetroshareDirModel::FilterRole);
|
||||||
tree_proxyModel->setFilterRegExp(QRegExp(QString(RETROSHARE_DIR_MODEL_FILTER_STRING))) ;
|
tree_proxyModel->setFilterRegExp(QRegExp(QString(SHARED_FILES_DIALOG_FILTER_STRING))) ;
|
||||||
|
|
||||||
flat_proxyModel = new SFDSortFilterProxyModel(flat_model, this);
|
flat_proxyModel = new SFDSortFilterProxyModel(flat_model, this);
|
||||||
flat_proxyModel->setSourceModel(flat_model);
|
flat_proxyModel->setSourceModel(flat_model);
|
||||||
flat_proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
flat_proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||||
flat_proxyModel->setSortRole(RetroshareDirModel::SortRole);
|
flat_proxyModel->setSortRole(RetroshareDirModel::SortRole);
|
||||||
flat_proxyModel->sort(COLUMN_NAME);
|
flat_proxyModel->sort(SHARED_FILES_DIALOG_COLUMN_NAME);
|
||||||
flat_proxyModel->setFilterRole(RetroshareDirModel::FilterRole);
|
flat_proxyModel->setFilterRole(RetroshareDirModel::FilterRole);
|
||||||
flat_proxyModel->setFilterRegExp(QRegExp(QString(RETROSHARE_DIR_MODEL_FILTER_STRING))) ;
|
flat_proxyModel->setFilterRegExp(QRegExp(QString(SHARED_FILES_DIALOG_FILTER_STRING))) ;
|
||||||
|
|
||||||
connect(ui.filterClearButton, SIGNAL(clicked()), this, SLOT(clearFilter()));
|
connect(ui.filterClearButton, SIGNAL(clicked()), this, SLOT(clearFilter()));
|
||||||
connect(ui.filterStartButton, SIGNAL(clicked()), this, SLOT(startFilter()));
|
connect(ui.filterStartButton, SIGNAL(clicked()), this, SLOT(startFilter()));
|
||||||
|
@ -219,12 +229,12 @@ SharedFilesDialog::SharedFilesDialog(bool remote_mode, QWidget *parent)
|
||||||
int charWidth = ui.dirTreeView->fontMetrics().horizontalAdvance("_");
|
int charWidth = ui.dirTreeView->fontMetrics().horizontalAdvance("_");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
header->resizeSection ( COLUMN_NAME , charWidth*100 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_NAME , charWidth*100 );
|
||||||
header->resizeSection ( COLUMN_FILENB , charWidth*15 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_FILENB , charWidth*15 );
|
||||||
header->resizeSection ( COLUMN_SIZE , charWidth*10 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_SIZE , charWidth*10 );
|
||||||
header->resizeSection ( COLUMN_AGE , charWidth*6 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_AGE , charWidth*6 );
|
||||||
header->resizeSection ( COLUMN_FRIEND_ACCESS, charWidth*10 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, charWidth*10 );
|
||||||
header->resizeSection ( COLUMN_WN_VISU_DIR , charWidth*20 );
|
header->resizeSection ( SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR , charWidth*20 );
|
||||||
|
|
||||||
header->setStretchLastSection(true);
|
header->setStretchLastSection(true);
|
||||||
|
|
||||||
|
@ -260,7 +270,7 @@ LocalSharedFilesDialog::LocalSharedFilesDialog(QWidget *parent)
|
||||||
: SharedFilesDialog(false,parent)
|
: SharedFilesDialog(false,parent)
|
||||||
{
|
{
|
||||||
// Hide columns after loading the settings
|
// Hide columns after loading the settings
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, false) ;
|
||||||
ui.downloadButton->hide() ;
|
ui.downloadButton->hide() ;
|
||||||
|
|
||||||
// load settings
|
// load settings
|
||||||
|
@ -279,14 +289,14 @@ LocalSharedFilesDialog::LocalSharedFilesDialog(QWidget *parent)
|
||||||
|
|
||||||
ui.titleBarPixmap->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_MYFILES)) ;
|
ui.titleBarPixmap->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_MYFILES)) ;
|
||||||
|
|
||||||
ui.dirTreeView->setItemDelegateForColumn(COLUMN_FRIEND_ACCESS,new ShareFlagsItemDelegate()) ;
|
ui.dirTreeView->setItemDelegateForColumn(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS,new ShareFlagsItemDelegate()) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
RemoteSharedFilesDialog::RemoteSharedFilesDialog(QWidget *parent)
|
RemoteSharedFilesDialog::RemoteSharedFilesDialog(QWidget *parent)
|
||||||
: SharedFilesDialog(true,parent)
|
: SharedFilesDialog(true,parent)
|
||||||
{
|
{
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FRIEND_ACCESS, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, false) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, true) ;
|
||||||
ui.checkButton->hide() ;
|
ui.checkButton->hide() ;
|
||||||
|
|
||||||
connect(ui.downloadButton, SIGNAL(clicked()), this, SLOT(downloadRemoteSelected()));
|
connect(ui.downloadButton, SIGNAL(clicked()), this, SLOT(downloadRemoteSelected()));
|
||||||
|
@ -440,9 +450,9 @@ void SharedFilesDialog::changeCurrentViewModel(int viewTypeIndex)
|
||||||
restoreExpandedPathsAndSelection(expanded_indexes,hidden_indexes,selected_indexes);
|
restoreExpandedPathsAndSelection(expanded_indexes,hidden_indexes,selected_indexes);
|
||||||
|
|
||||||
QHeaderView * header = ui.dirTreeView->header () ;
|
QHeaderView * header = ui.dirTreeView->header () ;
|
||||||
QHeaderView_setSectionResizeModeColumn(header, COLUMN_NAME, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(header, SHARED_FILES_DIALOG_COLUMN_NAME, QHeaderView::Interactive);
|
||||||
|
|
||||||
ui.dirTreeView->header()->headerDataChanged(Qt::Horizontal, COLUMN_NAME, COLUMN_WN_VISU_DIR) ;
|
ui.dirTreeView->header()->headerDataChanged(Qt::Horizontal, SHARED_FILES_DIALOG_COLUMN_NAME, SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR) ;
|
||||||
|
|
||||||
// recursRestoreExpandedItems(ui.dirTreeView->rootIndex(),expanded_indexes);
|
// recursRestoreExpandedItems(ui.dirTreeView->rootIndex(),expanded_indexes);
|
||||||
FilterItems();
|
FilterItems();
|
||||||
|
@ -452,9 +462,9 @@ void LocalSharedFilesDialog::showProperColumns()
|
||||||
{
|
{
|
||||||
if(model == tree_model)
|
if(model == tree_model)
|
||||||
{
|
{
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FILENB, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FILENB, false) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FRIEND_ACCESS, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, false) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, false) ;
|
||||||
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
||||||
ui.filterLabel->hide();
|
ui.filterLabel->hide();
|
||||||
ui.filterPatternLineEdit->hide();
|
ui.filterPatternLineEdit->hide();
|
||||||
|
@ -464,9 +474,9 @@ void LocalSharedFilesDialog::showProperColumns()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FILENB, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FILENB, true) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FRIEND_ACCESS, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, true) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, false) ;
|
||||||
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
||||||
ui.filterLabel->show();
|
ui.filterLabel->show();
|
||||||
ui.filterPatternLineEdit->show();
|
ui.filterPatternLineEdit->show();
|
||||||
|
@ -477,9 +487,9 @@ void RemoteSharedFilesDialog::showProperColumns()
|
||||||
{
|
{
|
||||||
if(model == tree_model)
|
if(model == tree_model)
|
||||||
{
|
{
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FILENB, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FILENB, false) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FRIEND_ACCESS, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, true) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, true) ;
|
||||||
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
||||||
ui.filterLabel->hide();
|
ui.filterLabel->hide();
|
||||||
ui.filterPatternLineEdit->hide();
|
ui.filterPatternLineEdit->hide();
|
||||||
|
@ -489,9 +499,9 @@ void RemoteSharedFilesDialog::showProperColumns()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FILENB, true) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FILENB, true) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_FRIEND_ACCESS, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_FRIEND_ACCESS, false) ;
|
||||||
ui.dirTreeView->setColumnHidden(COLUMN_WN_VISU_DIR, false) ;
|
ui.dirTreeView->setColumnHidden(SHARED_FILES_DIALOG_COLUMN_WN_VISU_DIR, false) ;
|
||||||
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
#ifdef DONT_USE_SEARCH_IN_TREE_VIEW
|
||||||
ui.filterLabel->show();
|
ui.filterLabel->show();
|
||||||
ui.filterPatternLineEdit->show();
|
ui.filterPatternLineEdit->show();
|
||||||
|
@ -1337,9 +1347,9 @@ void SharedFilesDialog::indicatorChanged(int index)
|
||||||
ui.dirTreeView->update(ui.dirTreeView->rootIndex());
|
ui.dirTreeView->update(ui.dirTreeView->rootIndex());
|
||||||
|
|
||||||
if (correct_indicator[index] != IND_ALWAYS)
|
if (correct_indicator[index] != IND_ALWAYS)
|
||||||
ui.dirTreeView->sortByColumn(COLUMN_AGE, Qt::AscendingOrder);
|
ui.dirTreeView->sortByColumn(SHARED_FILES_DIALOG_COLUMN_AGE, Qt::AscendingOrder);
|
||||||
else
|
else
|
||||||
ui.dirTreeView->sortByColumn(COLUMN_NAME, Qt::AscendingOrder);
|
ui.dirTreeView->sortByColumn(SHARED_FILES_DIALOG_COLUMN_NAME, Qt::AscendingOrder);
|
||||||
|
|
||||||
updateDisplay() ;
|
updateDisplay() ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,7 +144,7 @@ public:
|
||||||
}
|
}
|
||||||
int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const
|
int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const
|
||||||
{
|
{
|
||||||
return COLUMN_COUNT ;
|
return DLListDelegate::COLUMN_COUNT ;
|
||||||
}
|
}
|
||||||
bool hasChildren(const QModelIndex &parent = QModelIndex()) const
|
bool hasChildren(const QModelIndex &parent = QModelIndex()) const
|
||||||
{
|
{
|
||||||
|
@ -176,7 +176,7 @@ public:
|
||||||
|
|
||||||
QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const
|
QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const
|
||||||
{
|
{
|
||||||
if(row < 0 || column < 0 || column >= COLUMN_COUNT)
|
if(row < 0 || column < 0 || column >= DLListDelegate::COLUMN_COUNT)
|
||||||
return QModelIndex();
|
return QModelIndex();
|
||||||
|
|
||||||
void *parent_ref = (parent.isValid())?parent.internalPointer():NULL ;
|
void *parent_ref = (parent.isValid())?parent.internalPointer():NULL ;
|
||||||
|
@ -258,19 +258,19 @@ public:
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case COLUMN_NAME: return tr("Name", "i.e: file name");
|
case DLListDelegate::COLUMN_NAME: return tr("Name", "i.e: file name");
|
||||||
case COLUMN_SIZE: return tr("Size", "i.e: file size");
|
case DLListDelegate::COLUMN_SIZE: return tr("Size", "i.e: file size");
|
||||||
case COLUMN_COMPLETED: return tr("Completed", "");
|
case DLListDelegate::COLUMN_COMPLETED: return tr("Completed", "");
|
||||||
case COLUMN_DLSPEED: return tr("Speed", "i.e: Download speed");
|
case DLListDelegate::COLUMN_DLSPEED: return tr("Speed", "i.e: Download speed");
|
||||||
case COLUMN_PROGRESS: return tr("Progress / Availability", "i.e: % downloaded");
|
case DLListDelegate::COLUMN_PROGRESS: return tr("Progress / Availability", "i.e: % downloaded");
|
||||||
case COLUMN_SOURCES: return tr("Sources", "i.e: Sources");
|
case DLListDelegate::COLUMN_SOURCES: return tr("Sources", "i.e: Sources");
|
||||||
case COLUMN_STATUS: return tr("Status");
|
case DLListDelegate::COLUMN_STATUS: return tr("Status");
|
||||||
case COLUMN_PRIORITY: return tr("Speed / Queue position");
|
case DLListDelegate::COLUMN_PRIORITY: return tr("Speed / Queue position");
|
||||||
case COLUMN_REMAINING: return tr("Remaining");
|
case DLListDelegate::COLUMN_REMAINING: return tr("Remaining");
|
||||||
case COLUMN_DOWNLOADTIME: return tr("Download time", "i.e: Estimated Time of Arrival / Time left");
|
case DLListDelegate::COLUMN_DOWNLOADTIME: return tr("Download time", "i.e: Estimated Time of Arrival / Time left");
|
||||||
case COLUMN_ID: return tr("Hash");
|
case DLListDelegate::COLUMN_ID: return tr("Hash");
|
||||||
case COLUMN_LASTDL: return tr("Last Time Seen", "i.e: Last Time Receiced Data");
|
case DLListDelegate::COLUMN_LASTDL: return tr("Last Time Seen", "i.e: Last Time Receiced Data");
|
||||||
case COLUMN_PATH: return tr("Path", "i.e: Where file is saved");
|
case DLListDelegate::COLUMN_PATH: return tr("Path", "i.e: Where file is saved");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,19 +352,19 @@ public:
|
||||||
switch(col)
|
switch(col)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case COLUMN_NAME: return QVariant( QSize(factor * 170, factor*14.0f ));
|
case DLListDelegate::COLUMN_NAME: return QVariant( QSize(factor * 170, factor*14.0f ));
|
||||||
case COLUMN_SIZE: return QVariant( QSize(factor * 70 , factor*14.0f ));
|
case DLListDelegate::COLUMN_SIZE: return QVariant( QSize(factor * 70 , factor*14.0f ));
|
||||||
case COLUMN_COMPLETED: return QVariant( QSize(factor * 75 , factor*14.0f ));
|
case DLListDelegate::COLUMN_COMPLETED: return QVariant( QSize(factor * 75 , factor*14.0f ));
|
||||||
case COLUMN_DLSPEED: return QVariant( QSize(factor * 75 , factor*14.0f ));
|
case DLListDelegate::COLUMN_DLSPEED: return QVariant( QSize(factor * 75 , factor*14.0f ));
|
||||||
case COLUMN_PROGRESS: return QVariant( QSize(factor * 170, factor*14.0f ));
|
case DLListDelegate::COLUMN_PROGRESS: return QVariant( QSize(factor * 170, factor*14.0f ));
|
||||||
case COLUMN_SOURCES: return QVariant( QSize(factor * 90 , factor*14.0f ));
|
case DLListDelegate::COLUMN_SOURCES: return QVariant( QSize(factor * 90 , factor*14.0f ));
|
||||||
case COLUMN_STATUS: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_STATUS: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_PRIORITY: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_PRIORITY: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_REMAINING: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_REMAINING: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_DOWNLOADTIME: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_DOWNLOADTIME: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_ID: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_ID: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_LASTDL: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_LASTDL: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
case COLUMN_PATH: return QVariant( QSize(factor * 100, factor*14.0f ));
|
case DLListDelegate::COLUMN_PATH: return QVariant( QSize(factor * 100, factor*14.0f ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,11 +374,11 @@ public:
|
||||||
if(source_id == -1) // toplevel
|
if(source_id == -1) // toplevel
|
||||||
switch(col)
|
switch(col)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME: return QVariant(QString::fromUtf8(fileInfo.fname.c_str()));
|
case DLListDelegate::COLUMN_NAME: return QVariant(QString::fromUtf8(fileInfo.fname.c_str()));
|
||||||
case COLUMN_COMPLETED: return QVariant((qlonglong)fileInfo.transfered);
|
case DLListDelegate::COLUMN_COMPLETED: return QVariant((qlonglong)fileInfo.transfered);
|
||||||
case COLUMN_DLSPEED: return QVariant((double)((fileInfo.downloadStatus == FT_STATE_DOWNLOADING) ? (fileInfo.tfRate * 1024.0) : 0.0));
|
case DLListDelegate::COLUMN_DLSPEED: return QVariant((double)((fileInfo.downloadStatus == FT_STATE_DOWNLOADING) ? (fileInfo.tfRate * 1024.0) : 0.0));
|
||||||
case COLUMN_PROGRESS: return QVariant((float)((fileInfo.size == 0) ? 0 : (fileInfo.transfered * 100.0 / (float)fileInfo.size)));
|
case DLListDelegate::COLUMN_PROGRESS: return QVariant((float)((fileInfo.size == 0) ? 0 : (fileInfo.transfered * 100.0 / (float)fileInfo.size)));
|
||||||
case COLUMN_STATUS:
|
case DLListDelegate::COLUMN_STATUS:
|
||||||
{
|
{
|
||||||
QString status;
|
QString status;
|
||||||
switch (fileInfo.downloadStatus)
|
switch (fileInfo.downloadStatus)
|
||||||
|
@ -396,9 +396,9 @@ public:
|
||||||
return QVariant(status);
|
return QVariant(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_PRIORITY:
|
case DLListDelegate::COLUMN_PRIORITY:
|
||||||
{
|
{
|
||||||
double priority = PRIORITY_NULL;
|
double priority = DLListDelegate::PRIORITY_NULL;
|
||||||
|
|
||||||
if (fileInfo.downloadStatus == FT_STATE_QUEUED)
|
if (fileInfo.downloadStatus == FT_STATE_QUEUED)
|
||||||
priority = fileInfo.queue_position;
|
priority = fileInfo.queue_position;
|
||||||
|
@ -407,18 +407,18 @@ public:
|
||||||
else
|
else
|
||||||
switch (fileInfo.priority)
|
switch (fileInfo.priority)
|
||||||
{
|
{
|
||||||
case SPEED_LOW: priority = PRIORITY_SLOWER; break;
|
case SPEED_LOW: priority = DLListDelegate::PRIORITY_SLOWER; break;
|
||||||
case SPEED_NORMAL: priority = PRIORITY_AVERAGE; break;
|
case SPEED_NORMAL: priority = DLListDelegate::PRIORITY_AVERAGE; break;
|
||||||
case SPEED_HIGH: priority = PRIORITY_FASTER; break;
|
case SPEED_HIGH: priority = DLListDelegate::PRIORITY_FASTER; break;
|
||||||
default: priority = PRIORITY_AVERAGE; break;
|
default: priority = DLListDelegate::PRIORITY_AVERAGE; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return QVariant(priority);
|
return QVariant(priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_REMAINING: return QVariant((qlonglong)(fileInfo.size - fileInfo.transfered));
|
case DLListDelegate::COLUMN_REMAINING: return QVariant((qlonglong)(fileInfo.size - fileInfo.transfered));
|
||||||
case COLUMN_DOWNLOADTIME: return QVariant((qlonglong)(fileInfo.tfRate > 0)?( (fileInfo.size - fileInfo.transfered) / (fileInfo.tfRate * 1024.0) ) : 0);
|
case DLListDelegate::COLUMN_DOWNLOADTIME: return QVariant((qlonglong)(fileInfo.tfRate > 0)?( (fileInfo.size - fileInfo.transfered) / (fileInfo.tfRate * 1024.0) ) : 0);
|
||||||
case COLUMN_LASTDL:
|
case DLListDelegate::COLUMN_LASTDL:
|
||||||
{
|
{
|
||||||
qint64 qi64LastDL = fileInfo.lastTS ;
|
qint64 qi64LastDL = fileInfo.lastTS ;
|
||||||
|
|
||||||
|
@ -437,7 +437,7 @@ public:
|
||||||
}
|
}
|
||||||
return QVariant(qi64LastDL) ;
|
return QVariant(qi64LastDL) ;
|
||||||
}
|
}
|
||||||
case COLUMN_PATH:
|
case DLListDelegate::COLUMN_PATH:
|
||||||
{
|
{
|
||||||
QString strPath = QString::fromUtf8(fileInfo.path.c_str());
|
QString strPath = QString::fromUtf8(fileInfo.path.c_str());
|
||||||
QString strPathAfterDL = strPath;
|
QString strPathAfterDL = strPath;
|
||||||
|
@ -446,7 +446,7 @@ public:
|
||||||
return QVariant(strPathAfterDL);
|
return QVariant(strPathAfterDL);
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_SOURCES:
|
case DLListDelegate::COLUMN_SOURCES:
|
||||||
{
|
{
|
||||||
int active = 0;
|
int active = 0;
|
||||||
//QString fileHash = QString::fromStdString(fileInfo.hash.toStdString());
|
//QString fileHash = QString::fromStdString(fileInfo.hash.toStdString());
|
||||||
|
@ -478,9 +478,9 @@ public:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_SIZE: return QVariant((qlonglong) fileInfo.size);
|
case DLListDelegate::COLUMN_SIZE: return QVariant((qlonglong) fileInfo.size);
|
||||||
|
|
||||||
case COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()));
|
case DLListDelegate::COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return QVariant("[ TODO ]");
|
return QVariant("[ TODO ]");
|
||||||
|
@ -492,16 +492,16 @@ public:
|
||||||
switch(col)
|
switch(col)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
case COLUMN_SOURCES:
|
case DLListDelegate::COLUMN_SOURCES:
|
||||||
case COLUMN_COMPLETED:
|
case DLListDelegate::COLUMN_COMPLETED:
|
||||||
case COLUMN_REMAINING:
|
case DLListDelegate::COLUMN_REMAINING:
|
||||||
case COLUMN_LASTDL:
|
case DLListDelegate::COLUMN_LASTDL:
|
||||||
case COLUMN_ID:
|
case DLListDelegate::COLUMN_ID:
|
||||||
case COLUMN_PATH:
|
case DLListDelegate::COLUMN_PATH:
|
||||||
case COLUMN_DOWNLOADTIME:
|
case DLListDelegate::COLUMN_DOWNLOADTIME:
|
||||||
case COLUMN_SIZE: return QVariant();
|
case DLListDelegate::COLUMN_SIZE: return QVariant();
|
||||||
case COLUMN_PROGRESS: return QVariant( (fileInfo.size>0)?((fileInfo.peers[source_id].transfered % chunk_size)*100.0/fileInfo.size):0.0) ;
|
case DLListDelegate::COLUMN_PROGRESS: return QVariant( (fileInfo.size>0)?((fileInfo.peers[source_id].transfered % chunk_size)*100.0/fileInfo.size):0.0) ;
|
||||||
case COLUMN_DLSPEED:
|
case DLListDelegate::COLUMN_DLSPEED:
|
||||||
{
|
{
|
||||||
double peerDlspeed = 0;
|
double peerDlspeed = 0;
|
||||||
if((uint32_t)fileInfo.peers[source_id].status == FT_STATE_DOWNLOADING && fileInfo.downloadStatus != FT_STATE_PAUSED && fileInfo.downloadStatus != FT_STATE_COMPLETE)
|
if((uint32_t)fileInfo.peers[source_id].status == FT_STATE_DOWNLOADING && fileInfo.downloadStatus != FT_STATE_PAUSED && fileInfo.downloadStatus != FT_STATE_COMPLETE)
|
||||||
|
@ -509,13 +509,13 @@ public:
|
||||||
|
|
||||||
return QVariant((double)peerDlspeed) ;
|
return QVariant((double)peerDlspeed) ;
|
||||||
}
|
}
|
||||||
case COLUMN_NAME:
|
case DLListDelegate::COLUMN_NAME:
|
||||||
{
|
{
|
||||||
QString iconName,tooltip;
|
QString iconName,tooltip;
|
||||||
return QVariant(TransfersDialog::getPeerName(fileInfo.peers[source_id].peerId, iconName, tooltip));
|
return QVariant(TransfersDialog::getPeerName(fileInfo.peers[source_id].peerId, iconName, tooltip));
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_PRIORITY: return QVariant((double)PRIORITY_NULL);
|
case DLListDelegate::COLUMN_PRIORITY: return QVariant((double)DLListDelegate::PRIORITY_NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -527,7 +527,7 @@ public:
|
||||||
if(source_id == -1)
|
if(source_id == -1)
|
||||||
switch(col)
|
switch(col)
|
||||||
{
|
{
|
||||||
case COLUMN_PROGRESS:
|
case DLListDelegate::COLUMN_PROGRESS:
|
||||||
{
|
{
|
||||||
FileChunksInfo fcinfo;
|
FileChunksInfo fcinfo;
|
||||||
if (!rsFiles->FileDownloadChunksDetails(fileInfo.hash, fcinfo))
|
if (!rsFiles->FileDownloadChunksDetails(fileInfo.hash, fcinfo))
|
||||||
|
@ -554,7 +554,7 @@ public:
|
||||||
return QVariant::fromValue(pinfo);
|
return QVariant::fromValue(pinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()));
|
case DLListDelegate::COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()));
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -563,7 +563,7 @@ public:
|
||||||
else
|
else
|
||||||
switch(col)
|
switch(col)
|
||||||
{
|
{
|
||||||
case COLUMN_PROGRESS:
|
case DLListDelegate::COLUMN_PROGRESS:
|
||||||
{
|
{
|
||||||
FileChunksInfo fcinfo;
|
FileChunksInfo fcinfo;
|
||||||
if (!rsFiles->FileDownloadChunksDetails(fileInfo.hash, fcinfo))
|
if (!rsFiles->FileDownloadChunksDetails(fileInfo.hash, fcinfo))
|
||||||
|
@ -582,7 +582,7 @@ public:
|
||||||
return QVariant::fromValue(pinfo);
|
return QVariant::fromValue(pinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
case COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()) + QString::fromStdString(fileInfo.peers[source_id].peerId.toStdString()));
|
case DLListDelegate::COLUMN_ID: return QVariant(QString::fromStdString(fileInfo.hash.toStdString()) + QString::fromStdString(fileInfo.peers[source_id].peerId.toStdString()));
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
@ -592,7 +592,7 @@ public:
|
||||||
|
|
||||||
QVariant decorationRole(const FileInfo& fileInfo,int source_id,int col) const
|
QVariant decorationRole(const FileInfo& fileInfo,int source_id,int col) const
|
||||||
{
|
{
|
||||||
if(col == COLUMN_NAME)
|
if(col == DLListDelegate::COLUMN_NAME)
|
||||||
{
|
{
|
||||||
if(source_id == -1)
|
if(source_id == -1)
|
||||||
return QVariant(FilesDefs::getIconFromFileType(QString::fromUtf8(fileInfo.fname.c_str())));
|
return QVariant(FilesDefs::getIconFromFileType(QString::fromUtf8(fileInfo.fname.c_str())));
|
||||||
|
@ -666,7 +666,7 @@ public:
|
||||||
|
|
||||||
if(fileInfo.downloadStatus == FT_STATE_DOWNLOADING || old_status != fileInfo.downloadStatus)
|
if(fileInfo.downloadStatus == FT_STATE_DOWNLOADING || old_status != fileInfo.downloadStatus)
|
||||||
{
|
{
|
||||||
QModelIndex topLeft = createIndex(i,0), bottomRight = createIndex(i, COLUMN_COUNT-1);
|
QModelIndex topLeft = createIndex(i,0), bottomRight = createIndex(i, DLListDelegate::COLUMN_COUNT-1);
|
||||||
emit dataChanged(topLeft, bottomRight);
|
emit dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -674,7 +674,7 @@ public:
|
||||||
//
|
//
|
||||||
// if(!mDownloads.empty())
|
// if(!mDownloads.empty())
|
||||||
// {
|
// {
|
||||||
// QModelIndex topLeft = createIndex(0,0), bottomRight = createIndex(mDownloads.size()-1, COLUMN_COUNT-1);
|
// QModelIndex topLeft = createIndex(0,0), bottomRight = createIndex(mDownloads.size()-1, DLListDelegate::COLUMN_COUNT-1);
|
||||||
// emit dataChanged(topLeft, bottomRight);
|
// emit dataChanged(topLeft, bottomRight);
|
||||||
// mDownloads[i] = fileInfo ;
|
// mDownloads[i] = fileInfo ;
|
||||||
// }
|
// }
|
||||||
|
@ -761,8 +761,8 @@ public:
|
||||||
return QStandardItem::operator<(other);
|
return QStandardItem::operator<(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStandardItem *myName = myParent->child(index().row(), COLUMN_NAME);
|
QStandardItem *myName = myParent->child(index().row(), DLListDelegate::COLUMN_NAME);
|
||||||
QStandardItem *otherName = otherParent->child(other.index().row(), COLUMN_NAME);
|
QStandardItem *otherName = otherParent->child(other.index().row(), DLListDelegate::COLUMN_NAME);
|
||||||
|
|
||||||
if (header == NULL || header->sortIndicatorOrder() == Qt::AscendingOrder) {
|
if (header == NULL || header->sortIndicatorOrder() == Qt::AscendingOrder) {
|
||||||
/* Ascending */
|
/* Ascending */
|
||||||
|
@ -847,41 +847,41 @@ TransfersDialog::TransfersDialog(QWidget *parent)
|
||||||
|
|
||||||
// /* Set header resize modes and initial section sizes Downloads TreeView*/
|
// /* Set header resize modes and initial section sizes Downloads TreeView*/
|
||||||
QHeaderView * dlheader = ui.downloadList->header () ;
|
QHeaderView * dlheader = ui.downloadList->header () ;
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_NAME, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_NAME, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_SIZE, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_SIZE, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_COMPLETED, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_COMPLETED, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_DLSPEED, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_DLSPEED, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_PROGRESS, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_PROGRESS, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_SOURCES, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_SOURCES, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_STATUS, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_STATUS, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_PRIORITY, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_PRIORITY, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_REMAINING, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_REMAINING, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_DOWNLOADTIME, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_DOWNLOADTIME, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_ID, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_ID, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_LASTDL, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_LASTDL, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(dlheader, COLUMN_PATH, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(dlheader, DLListDelegate::COLUMN_PATH, QHeaderView::Interactive);
|
||||||
|
|
||||||
// set default column and sort order for download
|
// set default column and sort order for download
|
||||||
ui.downloadList->sortByColumn(COLUMN_NAME, Qt::AscendingOrder);
|
ui.downloadList->sortByColumn(DLListDelegate::COLUMN_NAME, Qt::AscendingOrder);
|
||||||
|
|
||||||
connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString)));
|
connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString)));
|
||||||
/* Add filter actions */
|
/* Add filter actions */
|
||||||
QString headerName = DLListModel->headerData(COLUMN_NAME, Qt::Horizontal).toString();
|
QString headerName = DLListModel->headerData(DLListDelegate::COLUMN_NAME, Qt::Horizontal).toString();
|
||||||
ui.filterLineEdit->addFilter(QIcon(), headerName, COLUMN_NAME , QString("%1 %2").arg(tr("Search"), headerName));
|
ui.filterLineEdit->addFilter(QIcon(), headerName, DLListDelegate::COLUMN_NAME , QString("%1 %2").arg(tr("Search"), headerName));
|
||||||
QString headerID = DLListModel->headerData(COLUMN_ID, Qt::Horizontal).toString();
|
QString headerID = DLListModel->headerData(DLListDelegate::COLUMN_ID, Qt::Horizontal).toString();
|
||||||
ui.filterLineEdit->addFilter(QIcon(), headerID, COLUMN_ID , QString("%1 %2").arg(tr("Search"), headerID));
|
ui.filterLineEdit->addFilter(QIcon(), headerID, DLListDelegate::COLUMN_ID , QString("%1 %2").arg(tr("Search"), headerID));
|
||||||
|
|
||||||
connect( ui.uploadsList, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( uploadsListCustomPopupMenu( QPoint ) ) );
|
connect( ui.uploadsList, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( uploadsListCustomPopupMenu( QPoint ) ) );
|
||||||
|
|
||||||
// Set Upload list model
|
// Set Upload list model
|
||||||
ULListModel = new QStandardItemModel(0,COLUMN_UCOUNT);
|
ULListModel = new QStandardItemModel(0,ULListDelegate::COLUMN_UCOUNT);
|
||||||
ULListModel->setHeaderData(COLUMN_UNAME, Qt::Horizontal, tr("Name", "i.e: file name"));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_UNAME, Qt::Horizontal, tr("Name", "i.e: file name"));
|
||||||
ULListModel->setHeaderData(COLUMN_UPEER, Qt::Horizontal, tr("Peer", "i.e: user name / tunnel id"));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_UPEER, Qt::Horizontal, tr("Peer", "i.e: user name / tunnel id"));
|
||||||
ULListModel->setHeaderData(COLUMN_USIZE, Qt::Horizontal, tr("Size", "i.e: file size"));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_USIZE, Qt::Horizontal, tr("Size", "i.e: file size"));
|
||||||
ULListModel->setHeaderData(COLUMN_UTRANSFERRED, Qt::Horizontal, tr("Transferred", ""));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_UTRANSFERRED, Qt::Horizontal, tr("Transferred", ""));
|
||||||
ULListModel->setHeaderData(COLUMN_ULSPEED, Qt::Horizontal, tr("Speed", "i.e: upload speed"));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_ULSPEED, Qt::Horizontal, tr("Speed", "i.e: upload speed"));
|
||||||
ULListModel->setHeaderData(COLUMN_UPROGRESS, Qt::Horizontal, tr("Progress", "i.e: % uploaded"));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_UPROGRESS, Qt::Horizontal, tr("Progress", "i.e: % uploaded"));
|
||||||
ULListModel->setHeaderData(COLUMN_UHASH, Qt::Horizontal, tr("Hash", ""));
|
ULListModel->setHeaderData(ULListDelegate::COLUMN_UHASH, Qt::Horizontal, tr("Hash", ""));
|
||||||
|
|
||||||
ui.uploadsList->setModel(ULListModel);
|
ui.uploadsList->setModel(ULListModel);
|
||||||
|
|
||||||
|
@ -901,22 +901,22 @@ TransfersDialog::TransfersDialog(QWidget *parent)
|
||||||
|
|
||||||
/* Set header resize modes and initial section sizes Uploads TreeView*/
|
/* Set header resize modes and initial section sizes Uploads TreeView*/
|
||||||
QHeaderView * upheader = ui.uploadsList->header () ;
|
QHeaderView * upheader = ui.uploadsList->header () ;
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_UNAME, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_UNAME, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_UPEER, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_UPEER, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_USIZE, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_USIZE, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_UTRANSFERRED, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_UTRANSFERRED, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_ULSPEED, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_ULSPEED, QHeaderView::Interactive);
|
||||||
QHeaderView_setSectionResizeModeColumn(upheader, COLUMN_UPROGRESS, QHeaderView::Interactive);
|
QHeaderView_setSectionResizeModeColumn(upheader, ULListDelegate::COLUMN_UPROGRESS, QHeaderView::Interactive);
|
||||||
|
|
||||||
upheader->resizeSection ( COLUMN_UNAME, 260 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_UNAME, 260 );
|
||||||
upheader->resizeSection ( COLUMN_UPEER, 120 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_UPEER, 120 );
|
||||||
upheader->resizeSection ( COLUMN_USIZE, 70 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_USIZE, 70 );
|
||||||
upheader->resizeSection ( COLUMN_UTRANSFERRED, 75 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_UTRANSFERRED, 75 );
|
||||||
upheader->resizeSection ( COLUMN_ULSPEED, 75 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_ULSPEED, 75 );
|
||||||
upheader->resizeSection ( COLUMN_UPROGRESS, 170 );
|
upheader->resizeSection ( ULListDelegate::COLUMN_UPROGRESS, 170 );
|
||||||
|
|
||||||
// set default column and sort order for upload
|
// set default column and sort order for upload
|
||||||
ui.uploadsList->sortByColumn(COLUMN_UNAME, Qt::AscendingOrder);
|
ui.uploadsList->sortByColumn(ULListDelegate::COLUMN_UNAME, Qt::AscendingOrder);
|
||||||
|
|
||||||
QObject::connect(ui.downloadList->selectionModel(),SIGNAL(selectionChanged (const QItemSelection&, const QItemSelection&)),this,SLOT(showFileDetails())) ;
|
QObject::connect(ui.downloadList->selectionModel(),SIGNAL(selectionChanged (const QItemSelection&, const QItemSelection&)),this,SLOT(showFileDetails())) ;
|
||||||
|
|
||||||
|
@ -1174,18 +1174,18 @@ void TransfersDialog::processSettings(bool bLoad)
|
||||||
// state of splitter
|
// state of splitter
|
||||||
ui.splitter->restoreState(Settings->value("Splitter").toByteArray());
|
ui.splitter->restoreState(Settings->value("Splitter").toByteArray());
|
||||||
|
|
||||||
setShowDLSizeColumn(Settings->value("showDLSizeColumn", !ui.downloadList->isColumnHidden(COLUMN_SIZE)).toBool());
|
setShowDLSizeColumn(Settings->value("showDLSizeColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SIZE)).toBool());
|
||||||
setShowDLCompleteColumn(Settings->value("showDLCompleteColumn", !ui.downloadList->isColumnHidden(COLUMN_COMPLETED)).toBool());
|
setShowDLCompleteColumn(Settings->value("showDLCompleteColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_COMPLETED)).toBool());
|
||||||
setShowDLDLSpeedColumn(Settings->value("showDLDLSpeedColumn", !ui.downloadList->isColumnHidden(COLUMN_DLSPEED)).toBool());
|
setShowDLDLSpeedColumn(Settings->value("showDLDLSpeedColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DLSPEED)).toBool());
|
||||||
setShowDLProgressColumn(Settings->value("showDLProgressColumn", !ui.downloadList->isColumnHidden(COLUMN_PROGRESS)).toBool());
|
setShowDLProgressColumn(Settings->value("showDLProgressColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PROGRESS)).toBool());
|
||||||
setShowDLSourcesColumn(Settings->value("showDLSourcesColumn", !ui.downloadList->isColumnHidden(COLUMN_SOURCES)).toBool());
|
setShowDLSourcesColumn(Settings->value("showDLSourcesColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SOURCES)).toBool());
|
||||||
setShowDLStatusColumn(Settings->value("showDLStatusColumn", !ui.downloadList->isColumnHidden(COLUMN_STATUS)).toBool());
|
setShowDLStatusColumn(Settings->value("showDLStatusColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_STATUS)).toBool());
|
||||||
setShowDLPriorityColumn(Settings->value("showDLPriorityColumn", !ui.downloadList->isColumnHidden(COLUMN_PRIORITY)).toBool());
|
setShowDLPriorityColumn(Settings->value("showDLPriorityColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PRIORITY)).toBool());
|
||||||
setShowDLRemainingColumn(Settings->value("showDLRemainingColumn", !ui.downloadList->isColumnHidden(COLUMN_REMAINING)).toBool());
|
setShowDLRemainingColumn(Settings->value("showDLRemainingColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_REMAINING)).toBool());
|
||||||
setShowDLDownloadTimeColumn(Settings->value("showDLDownloadTimeColumn", !ui.downloadList->isColumnHidden(COLUMN_DOWNLOADTIME)).toBool());
|
setShowDLDownloadTimeColumn(Settings->value("showDLDownloadTimeColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DOWNLOADTIME)).toBool());
|
||||||
setShowDLIDColumn(Settings->value("showDLIDColumn", !ui.downloadList->isColumnHidden(COLUMN_ID)).toBool());
|
setShowDLIDColumn(Settings->value("showDLIDColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_ID)).toBool());
|
||||||
setShowDLLastDLColumn(Settings->value("showDLLastDLColumn", !ui.downloadList->isColumnHidden(COLUMN_LASTDL)).toBool());
|
setShowDLLastDLColumn(Settings->value("showDLLastDLColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_LASTDL)).toBool());
|
||||||
setShowDLPath(Settings->value("showDLPath", !ui.downloadList->isColumnHidden(COLUMN_PATH)).toBool());
|
setShowDLPath(Settings->value("showDLPath", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PATH)).toBool());
|
||||||
|
|
||||||
// selected tab
|
// selected tab
|
||||||
ui.tabWidget->setCurrentIndex(Settings->value("selectedTab").toInt());
|
ui.tabWidget->setCurrentIndex(Settings->value("selectedTab").toInt());
|
||||||
|
@ -1199,18 +1199,18 @@ void TransfersDialog::processSettings(bool bLoad)
|
||||||
// state of splitter
|
// state of splitter
|
||||||
Settings->setValue("Splitter", ui.splitter->saveState());
|
Settings->setValue("Splitter", ui.splitter->saveState());
|
||||||
|
|
||||||
Settings->setValue("showDLSizeColumn", !ui.downloadList->isColumnHidden(COLUMN_SIZE));
|
Settings->setValue("showDLSizeColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SIZE));
|
||||||
Settings->setValue("showDLCompleteColumn", !ui.downloadList->isColumnHidden(COLUMN_COMPLETED));
|
Settings->setValue("showDLCompleteColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_COMPLETED));
|
||||||
Settings->setValue("showDLDLSpeedColumn", !ui.downloadList->isColumnHidden(COLUMN_DLSPEED));
|
Settings->setValue("showDLDLSpeedColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DLSPEED));
|
||||||
Settings->setValue("showDLProgressColumn", !ui.downloadList->isColumnHidden(COLUMN_PROGRESS));
|
Settings->setValue("showDLProgressColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PROGRESS));
|
||||||
Settings->setValue("showDLSourcesColumn", !ui.downloadList->isColumnHidden(COLUMN_SOURCES));
|
Settings->setValue("showDLSourcesColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SOURCES));
|
||||||
Settings->setValue("showDLStatusColumn", !ui.downloadList->isColumnHidden(COLUMN_STATUS));
|
Settings->setValue("showDLStatusColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_STATUS));
|
||||||
Settings->setValue("showDLPriorityColumn", !ui.downloadList->isColumnHidden(COLUMN_PRIORITY));
|
Settings->setValue("showDLPriorityColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PRIORITY));
|
||||||
Settings->setValue("showDLRemainingColumn", !ui.downloadList->isColumnHidden(COLUMN_REMAINING));
|
Settings->setValue("showDLRemainingColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_REMAINING));
|
||||||
Settings->setValue("showDLDownloadTimeColumn", !ui.downloadList->isColumnHidden(COLUMN_DOWNLOADTIME));
|
Settings->setValue("showDLDownloadTimeColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DOWNLOADTIME));
|
||||||
Settings->setValue("showDLIDColumn", !ui.downloadList->isColumnHidden(COLUMN_ID));
|
Settings->setValue("showDLIDColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_ID));
|
||||||
Settings->setValue("showDLLastDLColumn", !ui.downloadList->isColumnHidden(COLUMN_LASTDL));
|
Settings->setValue("showDLLastDLColumn", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_LASTDL));
|
||||||
Settings->setValue("showDLPath", !ui.downloadList->isColumnHidden(COLUMN_PATH));
|
Settings->setValue("showDLPath", !ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PATH));
|
||||||
|
|
||||||
// selected tab
|
// selected tab
|
||||||
Settings->setValue("selectedTab", ui.tabWidget->currentIndex());
|
Settings->setValue("selectedTab", ui.tabWidget->currentIndex());
|
||||||
|
@ -1423,18 +1423,18 @@ void TransfersDialog::downloadListHeaderCustomPopupMenu( QPoint /*point*/ )
|
||||||
std::cerr << "TransfersDialog::downloadListHeaderCustomPopupMenu()" << std::endl;
|
std::cerr << "TransfersDialog::downloadListHeaderCustomPopupMenu()" << std::endl;
|
||||||
QMenu contextMnu( this );
|
QMenu contextMnu( this );
|
||||||
|
|
||||||
showDLSizeAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_SIZE));
|
showDLSizeAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SIZE));
|
||||||
showDLCompleteAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_COMPLETED));
|
showDLCompleteAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_COMPLETED));
|
||||||
showDLDLSpeedAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_DLSPEED));
|
showDLDLSpeedAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DLSPEED));
|
||||||
showDLProgressAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_PROGRESS));
|
showDLProgressAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PROGRESS));
|
||||||
showDLSourcesAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_SOURCES));
|
showDLSourcesAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_SOURCES));
|
||||||
showDLStatusAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_STATUS));
|
showDLStatusAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_STATUS));
|
||||||
showDLPriorityAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_PRIORITY));
|
showDLPriorityAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PRIORITY));
|
||||||
showDLRemainingAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_REMAINING));
|
showDLRemainingAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_REMAINING));
|
||||||
showDLDownloadTimeAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_DOWNLOADTIME));
|
showDLDownloadTimeAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_DOWNLOADTIME));
|
||||||
showDLIDAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_ID));
|
showDLIDAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_ID));
|
||||||
showDLLastDLAct->setChecked(!ui.downloadList->isColumnHidden(COLUMN_LASTDL));
|
showDLLastDLAct->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_LASTDL));
|
||||||
showDLPath->setChecked(!ui.downloadList->isColumnHidden(COLUMN_PATH));
|
showDLPath->setChecked(!ui.downloadList->isColumnHidden(DLListDelegate::COLUMN_PATH));
|
||||||
|
|
||||||
QMenu *menu = contextMnu.addMenu(tr("Columns"));
|
QMenu *menu = contextMnu.addMenu(tr("Columns"));
|
||||||
menu->addAction(showDLSizeAct);
|
menu->addAction(showDLSizeAct);
|
||||||
|
@ -1486,12 +1486,12 @@ void TransfersDialog::uploadsListHeaderCustomPopupMenu( QPoint /*point*/ )
|
||||||
std::cerr << "TransfersDialog::uploadsListHeaderCustomPopupMenu()" << std::endl;
|
std::cerr << "TransfersDialog::uploadsListHeaderCustomPopupMenu()" << std::endl;
|
||||||
QMenu contextMnu( this );
|
QMenu contextMnu( this );
|
||||||
|
|
||||||
showULPeerAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_UPEER));
|
showULPeerAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_UPEER));
|
||||||
showULSizeAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_USIZE));
|
showULSizeAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_USIZE));
|
||||||
showULTransferredAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_UTRANSFERRED));
|
showULTransferredAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_UTRANSFERRED));
|
||||||
showULSpeedAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_ULSPEED));
|
showULSpeedAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_ULSPEED));
|
||||||
showULProgressAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_UPROGRESS));
|
showULProgressAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_UPROGRESS));
|
||||||
showULHashAct->setChecked(!ui.uploadsList->isColumnHidden(COLUMN_UHASH));
|
showULHashAct->setChecked(!ui.uploadsList->isColumnHidden(ULListDelegate::COLUMN_UHASH));
|
||||||
|
|
||||||
QMenu *menu = contextMnu.addMenu(tr("Columns"));
|
QMenu *menu = contextMnu.addMenu(tr("Columns"));
|
||||||
menu->addAction(showULPeerAct);
|
menu->addAction(showULPeerAct);
|
||||||
|
@ -1554,20 +1554,20 @@ int TransfersDialog::addULItem(int row, const FileInfo &fileInfo)
|
||||||
// change progress column to own class for sorting
|
// change progress column to own class for sorting
|
||||||
//ULListModel->setItem(row, COLUMN_UPROGRESS, new ProgressItem(NULL));
|
//ULListModel->setItem(row, COLUMN_UPROGRESS, new ProgressItem(NULL));
|
||||||
|
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UNAME), fileName);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UNAME), fileName);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UNAME), FilesDefs::getIconFromFileType(fileName), Qt::DecorationRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UNAME), FilesDefs::getIconFromFileType(fileName), Qt::DecorationRole);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UHASH), fileHash);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UHASH), fileHash);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UHASH), fileHash, Qt::UserRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UHASH), fileHash, Qt::UserRole);
|
||||||
}
|
}
|
||||||
|
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_USIZE), QVariant((qlonglong)fileSize));
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_USIZE), QVariant((qlonglong)fileSize));
|
||||||
|
|
||||||
//Reset Parent info if child present
|
//Reset Parent info if child present
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QVariant(QString(tr("%1 tunnels").arg(fileInfo.peers.size()))) );
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QVariant(QString(tr("%1 tunnels").arg(fileInfo.peers.size()))) );
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QIcon(), Qt::DecorationRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QIcon(), Qt::DecorationRole);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QVariant(), Qt::ToolTipRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QVariant(), Qt::ToolTipRole);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UTRANSFERRED), QVariant());
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UTRANSFERRED), QVariant());
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPROGRESS), QVariant());
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPROGRESS), QVariant());
|
||||||
|
|
||||||
QStandardItem *ulItem = ULListModel->item(row);
|
QStandardItem *ulItem = ULListModel->item(row);
|
||||||
std::set<int> used_rows ;
|
std::set<int> used_rows ;
|
||||||
|
@ -1617,11 +1617,11 @@ int TransfersDialog::addULItem(int row, const FileInfo &fileInfo)
|
||||||
//Only one peer so update parent
|
//Only one peer so update parent
|
||||||
QString iconName;
|
QString iconName;
|
||||||
QString tooltip;
|
QString tooltip;
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QVariant(getPeerName(transferInfo.peerId, iconName, tooltip)));
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QVariant(getPeerName(transferInfo.peerId, iconName, tooltip)));
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QIcon(iconName), Qt::DecorationRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QIcon(iconName), Qt::DecorationRole);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPEER), QVariant(tooltip), Qt::ToolTipRole);
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPEER), QVariant(tooltip), Qt::ToolTipRole);
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UTRANSFERRED), QVariant(completed));
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UTRANSFERRED), QVariant(completed));
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_UPROGRESS), QVariant::fromValue(peerpinfo));
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_UPROGRESS), QVariant::fromValue(peerpinfo));
|
||||||
} else {
|
} else {
|
||||||
int row_id = addPeerToULItem(ulItem, transferInfo.peerId, hashFileAndPeerId, completed, peerULSpeed, peerpinfo);
|
int row_id = addPeerToULItem(ulItem, transferInfo.peerId, hashFileAndPeerId, completed, peerULSpeed, peerpinfo);
|
||||||
|
|
||||||
|
@ -1632,7 +1632,7 @@ int TransfersDialog::addULItem(int row, const FileInfo &fileInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update Parent UpLoad Speed
|
// Update Parent UpLoad Speed
|
||||||
ULListModel->setData(ULListModel->index(row, COLUMN_ULSPEED), QVariant((double)peerULSpeedTotal));
|
ULListModel->setData(ULListModel->index(row, ULListDelegate::COLUMN_ULSPEED), QVariant((double)peerULSpeedTotal));
|
||||||
|
|
||||||
|
|
||||||
// This is not optimal, but we deal with a small number of elements. The reverse order is really important,
|
// This is not optimal, but we deal with a small number of elements. The reverse order is really important,
|
||||||
|
@ -1653,7 +1653,7 @@ int TransfersDialog::addPeerToULItem(QStandardItem *ulItem, const RsPeerId& peer
|
||||||
int childRow = -1;
|
int childRow = -1;
|
||||||
|
|
||||||
QStandardItem *childId = NULL;
|
QStandardItem *childId = NULL;
|
||||||
for (int count = 0; (childId = ulItem->child(count, COLUMN_UHASH)) != NULL; ++count) {
|
for (int count = 0; (childId = ulItem->child(count, ULListDelegate::COLUMN_UHASH)) != NULL; ++count) {
|
||||||
if (childId->data(Qt::UserRole).toString() == coreID) {
|
if (childId->data(Qt::UserRole).toString() == coreID) {
|
||||||
childRow = count;
|
childRow = count;
|
||||||
break;
|
break;
|
||||||
|
@ -1700,9 +1700,9 @@ int TransfersDialog::addPeerToULItem(QStandardItem *ulItem, const RsPeerId& peer
|
||||||
childRow = ulItem->rowCount() - 1;
|
childRow = ulItem->rowCount() - 1;
|
||||||
} else {
|
} else {
|
||||||
// just update the child (peer)
|
// just update the child (peer)
|
||||||
ulItem->child(childRow, COLUMN_ULSPEED)->setData(QVariant((double)ulspeed), Qt::DisplayRole);
|
ulItem->child(childRow, ULListDelegate::COLUMN_ULSPEED)->setData(QVariant((double)ulspeed), Qt::DisplayRole);
|
||||||
ulItem->child(childRow, COLUMN_UTRANSFERRED)->setData(QVariant((qlonglong)completed), Qt::DisplayRole);
|
ulItem->child(childRow, ULListDelegate::COLUMN_UTRANSFERRED)->setData(QVariant((qlonglong)completed), Qt::DisplayRole);
|
||||||
ulItem->child(childRow, COLUMN_UPROGRESS)->setData(QVariant::fromValue(peerInfo), Qt::DisplayRole);
|
ulItem->child(childRow, ULListDelegate::COLUMN_UPROGRESS)->setData(QVariant::fromValue(peerInfo), Qt::DisplayRole);
|
||||||
}
|
}
|
||||||
|
|
||||||
return childRow;
|
return childRow;
|
||||||
|
@ -1743,7 +1743,7 @@ void TransfersDialog::insertTransfers()
|
||||||
int rowCount = ULListModel->rowCount();
|
int rowCount = ULListModel->rowCount();
|
||||||
|
|
||||||
for (int row = 0; row < rowCount; ) {
|
for (int row = 0; row < rowCount; ) {
|
||||||
RsFileHash hash ( ULListModel->item(row, COLUMN_UHASH)->data(Qt::UserRole).toString().toStdString());
|
RsFileHash hash ( ULListModel->item(row, ULListDelegate::COLUMN_UHASH)->data(Qt::UserRole).toString().toStdString());
|
||||||
|
|
||||||
std::set<RsFileHash>::iterator hashIt = hashs.find(hash);
|
std::set<RsFileHash>::iterator hashIt = hashs.find(hash);
|
||||||
if (hashIt == hashs.end()) {
|
if (hashIt == hashs.end()) {
|
||||||
|
@ -1976,13 +1976,13 @@ void TransfersDialog::getDLSelectedItems(std::set<RsFileHash> *ids, std::set<int
|
||||||
if (ids) ids->clear();
|
if (ids) ids->clear();
|
||||||
if (rows) rows->clear();
|
if (rows) rows->clear();
|
||||||
|
|
||||||
QModelIndexList selectedRows = selection->selectedRows(COLUMN_ID);
|
QModelIndexList selectedRows = selection->selectedRows(DLListDelegate::COLUMN_ID);
|
||||||
|
|
||||||
int i, imax = selectedRows.count();
|
int i, imax = selectedRows.count();
|
||||||
for (i = 0; i < imax; ++i) {
|
for (i = 0; i < imax; ++i) {
|
||||||
QModelIndex index = selectedRows.at(i);
|
QModelIndex index = selectedRows.at(i);
|
||||||
if (index.parent().isValid() && index.model())
|
if (index.parent().isValid() && index.model())
|
||||||
index = index.model()->index(index.parent().row(), COLUMN_ID);
|
index = index.model()->index(index.parent().row(), DLListDelegate::COLUMN_ID);
|
||||||
|
|
||||||
if (ids) {
|
if (ids) {
|
||||||
ids->insert(RsFileHash(index.data(Qt::DisplayRole).toString().toStdString()));
|
ids->insert(RsFileHash(index.data(Qt::DisplayRole).toString().toStdString()));
|
||||||
|
@ -2010,7 +2010,7 @@ void TransfersDialog::getULSelectedItems(std::set<RsFileHash> *ids, std::set<int
|
||||||
|
|
||||||
foreach(index, indexes) {
|
foreach(index, indexes) {
|
||||||
if (ids) {
|
if (ids) {
|
||||||
QStandardItem *id = ULListModel->item(index.row(), COLUMN_UHASH);
|
QStandardItem *id = ULListModel->item(index.row(), ULListDelegate::COLUMN_UHASH);
|
||||||
ids->insert(RsFileHash(id->data(Qt::DisplayRole).toString().toStdString()));
|
ids->insert(RsFileHash(id->data(Qt::DisplayRole).toString().toStdString()));
|
||||||
}
|
}
|
||||||
if (rows) {
|
if (rows) {
|
||||||
|
@ -2383,72 +2383,72 @@ return 0.0 ;
|
||||||
|
|
||||||
double TransfersDialog::getSpeed(int row, QStandardItemModel *model)
|
double TransfersDialog::getSpeed(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_DLSPEED), Qt::DisplayRole).toDouble();
|
return model->data(model->index(row, DLListDelegate::COLUMN_DLSPEED), Qt::DisplayRole).toDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getFileName(int row, QStandardItemModel *model)
|
QString TransfersDialog::getFileName(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_NAME), Qt::DisplayRole).toString();
|
return model->data(model->index(row, DLListDelegate::COLUMN_NAME), Qt::DisplayRole).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getStatus(int row, QStandardItemModel *model)
|
QString TransfersDialog::getStatus(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_STATUS), Qt::DisplayRole).toString();
|
return model->data(model->index(row, DLListDelegate::COLUMN_STATUS), Qt::DisplayRole).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getID(int row, QStandardItemModel *model)
|
QString TransfersDialog::getID(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_ID), Qt::UserRole).toString().left(40); // gets only the "hash" part of the name
|
return model->data(model->index(row, DLListDelegate::COLUMN_ID), Qt::UserRole).toString().left(40); // gets only the "hash" part of the name
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getID(int row, QSortFilterProxyModel *filter)
|
QString TransfersDialog::getID(int row, QSortFilterProxyModel *filter)
|
||||||
{
|
{
|
||||||
QModelIndex index = filter->mapToSource(filter->index(row, COLUMN_ID));
|
QModelIndex index = filter->mapToSource(filter->index(row, DLListDelegate::COLUMN_ID));
|
||||||
|
|
||||||
return filter->sourceModel()->data(index, Qt::UserRole).toString().left(40); // gets only the "hash" part of the name
|
return filter->sourceModel()->data(index, Qt::UserRole).toString().left(40); // gets only the "hash" part of the name
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getPriority(int row, QStandardItemModel *model)
|
QString TransfersDialog::getPriority(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_PRIORITY), Qt::DisplayRole).toString();
|
return model->data(model->index(row, DLListDelegate::COLUMN_PRIORITY), Qt::DisplayRole).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getFileSize(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getFileSize(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
return model->data(model->index(row, COLUMN_SIZE), Qt::DisplayRole).toULongLong(&ok);
|
return model->data(model->index(row, DLListDelegate::COLUMN_SIZE), Qt::DisplayRole).toULongLong(&ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getTransfered(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getTransfered(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
return model->data(model->index(row, COLUMN_COMPLETED), Qt::DisplayRole).toULongLong(&ok);
|
return model->data(model->index(row, DLListDelegate::COLUMN_COMPLETED), Qt::DisplayRole).toULongLong(&ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getRemainingTime(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getRemainingTime(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
return model->data(model->index(row, COLUMN_REMAINING), Qt::DisplayRole).toULongLong(&ok);
|
return model->data(model->index(row, DLListDelegate::COLUMN_REMAINING), Qt::DisplayRole).toULongLong(&ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getDownloadTime(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getDownloadTime(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_DOWNLOADTIME), Qt::DisplayRole).toULongLong();
|
return model->data(model->index(row, DLListDelegate::COLUMN_DOWNLOADTIME), Qt::DisplayRole).toULongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getLastDL(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getLastDL(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_LASTDL), Qt::DisplayRole).toULongLong();
|
return model->data(model->index(row, DLListDelegate::COLUMN_LASTDL), Qt::DisplayRole).toULongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
qlonglong TransfersDialog::getPath(int row, QStandardItemModel *model)
|
qlonglong TransfersDialog::getPath(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
return model->data(model->index(row, COLUMN_PATH), Qt::DisplayRole).toULongLong();
|
return model->data(model->index(row, DLListDelegate::COLUMN_PATH), Qt::DisplayRole).toULongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString TransfersDialog::getSources(int row, QStandardItemModel *model)
|
QString TransfersDialog::getSources(int row, QStandardItemModel *model)
|
||||||
{
|
{
|
||||||
double dblValue = model->data(model->index(row, COLUMN_SOURCES), Qt::DisplayRole).toDouble();
|
double dblValue = model->data(model->index(row, DLListDelegate::COLUMN_SOURCES), Qt::DisplayRole).toDouble();
|
||||||
QString temp = QString("%1 (%2)").arg((int)dblValue).arg((int)((fmod(dblValue,1)*1000)+0.5));
|
QString temp = QString("%1 (%2)").arg((int)dblValue).arg((int)((fmod(dblValue,1)*1000)+0.5));
|
||||||
|
|
||||||
return temp;
|
return temp;
|
||||||
|
@ -2608,25 +2608,25 @@ void TransfersDialog::collAutoOpen(const QString &fileHash)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransfersDialog::setShowDLSizeColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_SIZE, !show); }
|
void TransfersDialog::setShowDLSizeColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_SIZE, !show); }
|
||||||
void TransfersDialog::setShowDLCompleteColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_COMPLETED, !show); }
|
void TransfersDialog::setShowDLCompleteColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_COMPLETED, !show); }
|
||||||
void TransfersDialog::setShowDLDLSpeedColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_DLSPEED, !show); }
|
void TransfersDialog::setShowDLDLSpeedColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_DLSPEED, !show); }
|
||||||
void TransfersDialog::setShowDLProgressColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_PROGRESS, !show); }
|
void TransfersDialog::setShowDLProgressColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_PROGRESS, !show); }
|
||||||
void TransfersDialog::setShowDLSourcesColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_SOURCES, !show); }
|
void TransfersDialog::setShowDLSourcesColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_SOURCES, !show); }
|
||||||
void TransfersDialog::setShowDLStatusColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_STATUS, !show); }
|
void TransfersDialog::setShowDLStatusColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_STATUS, !show); }
|
||||||
void TransfersDialog::setShowDLPriorityColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_PRIORITY, !show); }
|
void TransfersDialog::setShowDLPriorityColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_PRIORITY, !show); }
|
||||||
void TransfersDialog::setShowDLRemainingColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_REMAINING, !show); }
|
void TransfersDialog::setShowDLRemainingColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_REMAINING, !show); }
|
||||||
void TransfersDialog::setShowDLDownloadTimeColumn(bool show) { ui.downloadList->setColumnHidden(COLUMN_DOWNLOADTIME, !show); }
|
void TransfersDialog::setShowDLDownloadTimeColumn(bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_DOWNLOADTIME, !show); }
|
||||||
void TransfersDialog::setShowDLIDColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_ID, !show); }
|
void TransfersDialog::setShowDLIDColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_ID, !show); }
|
||||||
void TransfersDialog::setShowDLLastDLColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_LASTDL, !show); }
|
void TransfersDialog::setShowDLLastDLColumn (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_LASTDL, !show); }
|
||||||
void TransfersDialog::setShowDLPath (bool show) { ui.downloadList->setColumnHidden(COLUMN_PATH, !show); }
|
void TransfersDialog::setShowDLPath (bool show) { ui.downloadList->setColumnHidden(DLListDelegate::COLUMN_PATH, !show); }
|
||||||
|
|
||||||
void TransfersDialog::setShowULPeerColumn (bool show) { ui.uploadsList->setColumnHidden(COLUMN_UPEER, !show); }
|
void TransfersDialog::setShowULPeerColumn (bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_UPEER, !show); }
|
||||||
void TransfersDialog::setShowULSizeColumn (bool show) { ui.uploadsList->setColumnHidden(COLUMN_USIZE, !show); }
|
void TransfersDialog::setShowULSizeColumn (bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_USIZE, !show); }
|
||||||
void TransfersDialog::setShowULTransferredColumn(bool show) { ui.uploadsList->setColumnHidden(COLUMN_UTRANSFERRED, !show); }
|
void TransfersDialog::setShowULTransferredColumn(bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_UTRANSFERRED, !show); }
|
||||||
void TransfersDialog::setShowULSpeedColumn (bool show) { ui.uploadsList->setColumnHidden(COLUMN_ULSPEED, !show); }
|
void TransfersDialog::setShowULSpeedColumn (bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_ULSPEED, !show); }
|
||||||
void TransfersDialog::setShowULProgressColumn (bool show) { ui.uploadsList->setColumnHidden(COLUMN_UPROGRESS, !show); }
|
void TransfersDialog::setShowULProgressColumn (bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_UPROGRESS, !show); }
|
||||||
void TransfersDialog::setShowULHashColumn (bool show) { ui.uploadsList->setColumnHidden(COLUMN_UHASH, !show); }
|
void TransfersDialog::setShowULHashColumn (bool show) { ui.uploadsList->setColumnHidden(ULListDelegate::COLUMN_UHASH, !show); }
|
||||||
|
|
||||||
void TransfersDialog::expandAllDL()
|
void TransfersDialog::expandAllDL()
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,14 +25,14 @@
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(FileProgressInfo)
|
Q_DECLARE_METATYPE(FileProgressInfo)
|
||||||
|
|
||||||
|
#define MAX_CHAR_TMP 128
|
||||||
|
|
||||||
ULListDelegate::ULListDelegate(QObject *parent) : QAbstractItemDelegate(parent)
|
ULListDelegate::ULListDelegate(QObject *parent) : QAbstractItemDelegate(parent)
|
||||||
{
|
{
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ULListDelegate::~ULListDelegate(void)
|
ULListDelegate::~ULListDelegate(void)
|
||||||
{
|
{
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ULListDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
|
void ULListDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
|
||||||
|
|
|
@ -18,43 +18,27 @@
|
||||||
* *
|
* *
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#ifndef ULLISTDELEGATE_H
|
#pragma once
|
||||||
#define ULLISTDELEGATE_H
|
|
||||||
|
|
||||||
#include <QAbstractItemDelegate>
|
#include <QAbstractItemDelegate>
|
||||||
|
|
||||||
// Defines for upload list list columns
|
|
||||||
#define COLUMN_UNAME 0
|
|
||||||
#define COLUMN_UPEER 1
|
|
||||||
#define COLUMN_USIZE 2
|
|
||||||
#define COLUMN_UTRANSFERRED 3
|
|
||||||
#define COLUMN_ULSPEED 4
|
|
||||||
#define COLUMN_UPROGRESS 5
|
|
||||||
#define COLUMN_UHASH 6
|
|
||||||
#define COLUMN_UCOUNT 7
|
|
||||||
|
|
||||||
|
|
||||||
#define MAX_CHAR_TMP 128
|
|
||||||
|
|
||||||
class QModelIndex;
|
class QModelIndex;
|
||||||
class QPainter;
|
class QPainter;
|
||||||
|
|
||||||
|
class ULListDelegate: public QAbstractItemDelegate
|
||||||
class ULListDelegate: public QAbstractItemDelegate {
|
{
|
||||||
|
public:
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
ULListDelegate(QObject *parent=0);
|
ULListDelegate(QObject *parent=0);
|
||||||
~ULListDelegate();
|
~ULListDelegate();
|
||||||
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
||||||
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
|
||||||
|
|
||||||
private:
|
static constexpr int COLUMN_UNAME = 0;
|
||||||
|
static constexpr int COLUMN_UPEER = 1;
|
||||||
public slots:
|
static constexpr int COLUMN_USIZE = 2;
|
||||||
|
static constexpr int COLUMN_UTRANSFERRED = 3;
|
||||||
signals:
|
static constexpr int COLUMN_ULSPEED = 4;
|
||||||
|
static constexpr int COLUMN_UPROGRESS = 5;
|
||||||
|
static constexpr int COLUMN_UHASH = 6;
|
||||||
|
static constexpr int COLUMN_UCOUNT = 7;
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -466,10 +466,8 @@ void MainWindow::initStackedPage()
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RS_RELEASE_VERSION
|
#ifndef RS_RELEASE_VERSION
|
||||||
#ifdef PLUGINMGR
|
|
||||||
addPage(pluginsPage = new gui::PluginsPage(ui->stackPages), grp, NULL);
|
addPage(pluginsPage = new gui::PluginsPage(ui->stackPages), grp, NULL);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef GETSTARTED_GUI
|
#undef GETSTARTED_GUI
|
||||||
#ifdef GETSTARTED_GUI
|
#ifdef GETSTARTED_GUI
|
||||||
|
|
|
@ -73,7 +73,7 @@ NetworkDialog::NetworkDialog(QWidget */*parent*/)
|
||||||
PGPIdItemProxy = new pgpid_item_proxy(this);
|
PGPIdItemProxy = new pgpid_item_proxy(this);
|
||||||
connect(ui.onlyTrustedKeys, SIGNAL(toggled(bool)), PGPIdItemProxy, SLOT(use_only_trusted_keys(bool)));
|
connect(ui.onlyTrustedKeys, SIGNAL(toggled(bool)), PGPIdItemProxy, SLOT(use_only_trusted_keys(bool)));
|
||||||
PGPIdItemProxy->setSourceModel(PGPIdItemModel);
|
PGPIdItemProxy->setSourceModel(PGPIdItemModel);
|
||||||
PGPIdItemProxy->setFilterKeyColumn(COLUMN_PEERNAME);
|
PGPIdItemProxy->setFilterKeyColumn(pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERNAME);
|
||||||
PGPIdItemProxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
PGPIdItemProxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||||
PGPIdItemProxy->setSortRole(Qt::EditRole); //use edit role to get raw data since we do not have edit for this model.
|
PGPIdItemProxy->setSortRole(Qt::EditRole); //use edit role to get raw data since we do not have edit for this model.
|
||||||
ui.connectTreeWidget->setModel(PGPIdItemProxy);
|
ui.connectTreeWidget->setModel(PGPIdItemProxy);
|
||||||
|
@ -90,9 +90,9 @@ NetworkDialog::NetworkDialog(QWidget */*parent*/)
|
||||||
ui.onlyTrustedKeys->setMinimumWidth(20*f);
|
ui.onlyTrustedKeys->setMinimumWidth(20*f);
|
||||||
|
|
||||||
/* add filter actions */
|
/* add filter actions */
|
||||||
ui.filterLineEdit->addFilter(QIcon(), tr("Name"), COLUMN_PEERNAME, tr("Search name"));
|
ui.filterLineEdit->addFilter(QIcon(), tr("Name"), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERNAME, tr("Search name"));
|
||||||
ui.filterLineEdit->addFilter(QIcon(), tr("Peer ID"), COLUMN_PEERID, tr("Search peer ID"));
|
ui.filterLineEdit->addFilter(QIcon(), tr("Peer ID"), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID, tr("Search peer ID"));
|
||||||
ui.filterLineEdit->setCurrentFilter(COLUMN_PEERNAME);
|
ui.filterLineEdit->setCurrentFilter(pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERNAME);
|
||||||
connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), PGPIdItemProxy, SLOT(setFilterWildcard(QString)));
|
connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), PGPIdItemProxy, SLOT(setFilterWildcard(QString)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ void NetworkDialog::connectTreeWidgetCostumPopupMenu( QPoint /*point*/ )
|
||||||
|
|
||||||
QMenu *contextMnu = new QMenu;
|
QMenu *contextMnu = new QMenu;
|
||||||
|
|
||||||
RsPgpId peer_id(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()) ;
|
RsPgpId peer_id(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()) ;
|
||||||
|
|
||||||
// That's what context menus are made for
|
// That's what context menus are made for
|
||||||
RsPeerDetails detail;
|
RsPeerDetails detail;
|
||||||
|
@ -179,7 +179,7 @@ void NetworkDialog::removeSelectedKeys()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::set<RsPgpId> selected;
|
std::set<RsPgpId> selected;
|
||||||
selected.insert(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()));
|
selected.insert(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()));
|
||||||
|
|
||||||
removeKeys(selected);
|
removeKeys(selected);
|
||||||
}
|
}
|
||||||
|
@ -228,7 +228,7 @@ void NetworkDialog::denyFriend()
|
||||||
if(l.empty())
|
if(l.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
RsPgpId peer_id(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString());
|
RsPgpId peer_id(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString());
|
||||||
rsPeers->removeFriend(peer_id) ;
|
rsPeers->removeFriend(peer_id) ;
|
||||||
|
|
||||||
securedUpdateDisplay();
|
securedUpdateDisplay();
|
||||||
|
@ -241,7 +241,7 @@ void NetworkDialog::makeFriend()
|
||||||
if(l.empty())
|
if(l.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PGPKeyDialog::showIt(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()), PGPKeyDialog::PageDetails);
|
PGPKeyDialog::showIt(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()), PGPKeyDialog::PageDetails);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Shows Peer Information/Auth Dialog */
|
/** Shows Peer Information/Auth Dialog */
|
||||||
|
@ -251,7 +251,7 @@ void NetworkDialog::peerdetails()
|
||||||
if(l.empty())
|
if(l.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PGPKeyDialog::showIt(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()), PGPKeyDialog::PageDetails);
|
PGPKeyDialog::showIt(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()), PGPKeyDialog::PageDetails);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkDialog::copyLink()
|
void NetworkDialog::copyLink()
|
||||||
|
@ -261,7 +261,7 @@ void NetworkDialog::copyLink()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
RsPgpId peer_id (ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()) ;
|
RsPgpId peer_id (ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()) ;
|
||||||
|
|
||||||
QList<RetroShareLink> urls;
|
QList<RetroShareLink> urls;
|
||||||
RetroShareLink link = RetroShareLink::createPerson(peer_id);
|
RetroShareLink link = RetroShareLink::createPerson(peer_id);
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
#include <QBrush>
|
#include <QBrush>
|
||||||
|
|
||||||
|
#define IMAGE_AUTHED ":/images/accepted16.png"
|
||||||
|
#define IMAGE_DENIED ":/images/denied16.png"
|
||||||
|
#define IMAGE_TRUSTED ":/images/rs-2.png"
|
||||||
|
|
||||||
/*TODO:
|
/*TODO:
|
||||||
* using list here for internal data storage is not best option
|
* using list here for internal data storage is not best option
|
||||||
|
@ -41,22 +44,22 @@ QVariant pgpid_item_model::headerData(int section, Qt::Orientation orientation,
|
||||||
{
|
{
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
return QString(tr(" Do you accept connections signed by this profile?"));
|
return QString(tr(" Do you accept connections signed by this profile?"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERNAME:
|
case PGP_ITEM_MODEL_COLUMN_PEERNAME:
|
||||||
return QString(tr("Name of the profile"));
|
return QString(tr("Name of the profile"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_I_AUTH_PEER:
|
case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER:
|
||||||
return QString(tr("This column indicates the trust level you indicated and whether you signed the profile PGP key"));
|
return QString(tr("This column indicates the trust level you indicated and whether you signed the profile PGP key"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEER_AUTH_ME:
|
case PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME:
|
||||||
return QString(tr("Did that peer sign your own profile PGP key"));
|
return QString(tr("Did that peer sign your own profile PGP key"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERID:
|
case PGP_ITEM_MODEL_COLUMN_PEERID:
|
||||||
return QString(tr("PGP Key Id of that profile"));
|
return QString(tr("PGP Key Id of that profile"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_LAST_USED:
|
case PGP_ITEM_MODEL_COLUMN_LAST_USED:
|
||||||
return QString(tr("Last time this key was used (received time, or to check connection)"));
|
return QString(tr("Last time this key was used (received time, or to check connection)"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -65,22 +68,22 @@ QVariant pgpid_item_model::headerData(int section, Qt::Orientation orientation,
|
||||||
{
|
{
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
return QString(tr("Connections"));
|
return QString(tr("Connections"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERNAME:
|
case PGP_ITEM_MODEL_COLUMN_PEERNAME:
|
||||||
return QString(tr("Profile"));
|
return QString(tr("Profile"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_I_AUTH_PEER:
|
case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER:
|
||||||
return QString(tr("Trust level"));
|
return QString(tr("Trust level"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEER_AUTH_ME:
|
case PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME:
|
||||||
return QString(tr("Has signed your key?"));
|
return QString(tr("Has signed your key?"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERID:
|
case PGP_ITEM_MODEL_COLUMN_PEERID:
|
||||||
return QString(tr("Id"));
|
return QString(tr("Id"));
|
||||||
break;
|
break;
|
||||||
case COLUMN_LAST_USED:
|
case PGP_ITEM_MODEL_COLUMN_LAST_USED:
|
||||||
return QString(tr("Last used"));
|
return QString(tr("Last used"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -98,13 +101,13 @@ QVariant pgpid_item_model::headerData(int section, Qt::Orientation orientation,
|
||||||
{
|
{
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
return 25*font_height;
|
return 25*font_height;
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERNAME: case COLUMN_I_AUTH_PEER: case COLUMN_PEER_AUTH_ME:
|
case PGP_ITEM_MODEL_COLUMN_PEERNAME: case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER: case PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME:
|
||||||
return 200*font_height;
|
return 200*font_height;
|
||||||
break;
|
break;
|
||||||
case COLUMN_LAST_USED:
|
case PGP_ITEM_MODEL_COLUMN_LAST_USED:
|
||||||
return 75*font_height;
|
return 75*font_height;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -122,7 +125,7 @@ int pgpid_item_model::rowCount(const QModelIndex &/*parent*/) const
|
||||||
|
|
||||||
int pgpid_item_model::columnCount(const QModelIndex &/*parent*/) const
|
int pgpid_item_model::columnCount(const QModelIndex &/*parent*/) const
|
||||||
{
|
{
|
||||||
return COLUMN_COUNT;
|
return PGP_ITEM_MODEL_COLUMN_COUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,20 +151,20 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case COLUMN_LAST_USED:
|
case PGP_ITEM_MODEL_COLUMN_LAST_USED:
|
||||||
return detail.lastUsed;
|
return detail.lastUsed;
|
||||||
break;
|
break;
|
||||||
case COLUMN_I_AUTH_PEER:
|
case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER:
|
||||||
{
|
{
|
||||||
if (detail.ownsign)
|
if (detail.ownsign)
|
||||||
return RS_TRUST_LVL_ULTIMATE;
|
return RS_TRUST_LVL_ULTIMATE;
|
||||||
return detail.trustLvl;
|
return detail.trustLvl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEER_AUTH_ME:
|
case PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME:
|
||||||
return detail.hasSignedMe;
|
return detail.hasSignedMe;
|
||||||
break;
|
break;
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
return detail.accept_connection;
|
return detail.accept_connection;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -174,13 +177,13 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case COLUMN_PEERNAME:
|
case PGP_ITEM_MODEL_COLUMN_PEERNAME:
|
||||||
return QString::fromUtf8(detail.name.c_str());
|
return QString::fromUtf8(detail.name.c_str());
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEERID:
|
case PGP_ITEM_MODEL_COLUMN_PEERID:
|
||||||
return QString::fromStdString(detail.gpg_id.toStdString());
|
return QString::fromStdString(detail.gpg_id.toStdString());
|
||||||
break;
|
break;
|
||||||
case COLUMN_I_AUTH_PEER:
|
case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER:
|
||||||
{
|
{
|
||||||
if (detail.ownsign)
|
if (detail.ownsign)
|
||||||
return tr("Personal signature");
|
return tr("Personal signature");
|
||||||
|
@ -199,7 +202,7 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COLUMN_PEER_AUTH_ME:
|
case PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME:
|
||||||
{
|
{
|
||||||
if (detail.hasSignedMe)
|
if (detail.hasSignedMe)
|
||||||
return tr("Yes");
|
return tr("Yes");
|
||||||
|
@ -207,7 +210,7 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
return tr("No");
|
return tr("No");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COLUMN_LAST_USED:
|
case PGP_ITEM_MODEL_COLUMN_LAST_USED:
|
||||||
{
|
{
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
uint64_t last_time_used = now - detail.lastUsed ;
|
uint64_t last_time_used = now - detail.lastUsed ;
|
||||||
|
@ -226,7 +229,7 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
return lst_used_str;
|
return lst_used_str;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
{
|
{
|
||||||
if (detail.accept_connection || rsPeers->getGPGOwnId() == detail.gpg_id)
|
if (detail.accept_connection || rsPeers->getGPGOwnId() == detail.gpg_id)
|
||||||
return tr("Accepted");
|
return tr("Accepted");
|
||||||
|
@ -242,7 +245,7 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case COLUMN_I_AUTH_PEER:
|
case PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER:
|
||||||
{
|
{
|
||||||
if (detail.ownsign)
|
if (detail.ownsign)
|
||||||
return tr("PGP key signed by you");
|
return tr("PGP key signed by you");
|
||||||
|
@ -263,7 +266,7 @@ QVariant pgpid_item_model::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case COLUMN_CHECK:
|
case PGP_ITEM_MODEL_COLUMN_CHECK:
|
||||||
{
|
{
|
||||||
if (detail.accept_connection)
|
if (detail.accept_connection)
|
||||||
return QIcon(IMAGE_AUTHED);
|
return QIcon(IMAGE_AUTHED);
|
||||||
|
@ -345,14 +348,14 @@ void pgpid_item_model::data_updated(std::list<RsPgpId> &new_neighs)
|
||||||
break;
|
break;
|
||||||
if(*i1 != *i2)
|
if(*i1 != *i2)
|
||||||
{
|
{
|
||||||
QModelIndex topLeft = createIndex(ii1,0), bottomRight = createIndex(ii1, COLUMN_COUNT-1);
|
QModelIndex topLeft = createIndex(ii1,0), bottomRight = createIndex(ii1, PGP_ITEM_MODEL_COLUMN_COUNT-1);
|
||||||
emit dataChanged(topLeft, bottomRight);
|
emit dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(new_size > old_size)
|
if(new_size > old_size)
|
||||||
{
|
{
|
||||||
QModelIndex topLeft = createIndex(old_size ? old_size -1 : 0 ,0), bottomRight = createIndex(new_size -1, COLUMN_COUNT-1);
|
QModelIndex topLeft = createIndex(old_size ? old_size -1 : 0 ,0), bottomRight = createIndex(new_size -1, PGP_ITEM_MODEL_COLUMN_COUNT-1);
|
||||||
emit dataChanged(topLeft, bottomRight);
|
emit dataChanged(topLeft, bottomRight);
|
||||||
}
|
}
|
||||||
//dirty solution for initial data fetch
|
//dirty solution for initial data fetch
|
||||||
|
|
|
@ -25,20 +25,6 @@
|
||||||
#include <retroshare/rspeers.h>
|
#include <retroshare/rspeers.h>
|
||||||
#include <QColor>
|
#include <QColor>
|
||||||
|
|
||||||
#define IMAGE_AUTHED ":/images/accepted16.png"
|
|
||||||
#define IMAGE_DENIED ":/images/denied16.png"
|
|
||||||
#define IMAGE_TRUSTED ":/images/rs-2.png"
|
|
||||||
|
|
||||||
|
|
||||||
#define COLUMN_CHECK 0
|
|
||||||
#define COLUMN_PEERNAME 1
|
|
||||||
#define COLUMN_I_AUTH_PEER 2
|
|
||||||
#define COLUMN_PEER_AUTH_ME 3
|
|
||||||
#define COLUMN_PEERID 4
|
|
||||||
#define COLUMN_LAST_USED 5
|
|
||||||
#define COLUMN_COUNT 6
|
|
||||||
|
|
||||||
|
|
||||||
class pgpid_item_model : public QAbstractTableModel
|
class pgpid_item_model : public QAbstractTableModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -62,6 +48,13 @@ public:
|
||||||
void setBackgroundColorDenied(QColor color) { mBackgroundColorDenied = color; }
|
void setBackgroundColorDenied(QColor color) { mBackgroundColorDenied = color; }
|
||||||
void setTextColor(QColor color) { mTextColor = color; }
|
void setTextColor(QColor color) { mTextColor = color; }
|
||||||
|
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_CHECK = 0;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_PEERNAME = 1;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_I_AUTH_PEER = 2;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_PEER_AUTH_ME = 3;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_PEERID = 4;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_LAST_USED = 5;
|
||||||
|
static constexpr int PGP_ITEM_MODEL_COLUMN_COUNT = 6;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void data_updated(std::list<RsPgpId> &new_neighs);
|
void data_updated(std::list<RsPgpId> &new_neighs);
|
||||||
|
|
|
@ -26,17 +26,13 @@
|
||||||
#include <retroshare/rsdisc.h>
|
#include <retroshare/rsdisc.h>
|
||||||
#include <retroshare/rsmsgs.h>
|
#include <retroshare/rsmsgs.h>
|
||||||
|
|
||||||
|
bool pgpid_item_proxy::lessThan(const QModelIndex &left, const QModelIndex &right) const
|
||||||
//TODO: set this defines in one place
|
{
|
||||||
// Defines for key list columns
|
if(left.column() == pgpid_item_model::PGP_ITEM_MODEL_COLUMN_LAST_USED)
|
||||||
#define COLUMN_CHECK 0
|
return left.data(Qt::EditRole).toUInt() < right.data(Qt::EditRole).toUInt();
|
||||||
#define COLUMN_PEERNAME 1
|
else
|
||||||
#define COLUMN_I_AUTH_PEER 2
|
return left.data(Qt::DisplayRole).toString().toUpper() < right.data(Qt::DisplayRole).toString().toUpper();
|
||||||
#define COLUMN_PEER_AUTH_ME 3
|
}
|
||||||
#define COLUMN_PEERID 4
|
|
||||||
#define COLUMN_LAST_USED 5
|
|
||||||
#define COLUMN_COUNT 6
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pgpid_item_proxy::pgpid_item_proxy(QObject *parent) :
|
pgpid_item_proxy::pgpid_item_proxy(QObject *parent) :
|
||||||
|
@ -57,7 +53,7 @@ bool pgpid_item_proxy::filterAcceptsRow(int sourceRow, const QModelIndex &source
|
||||||
{
|
{
|
||||||
if(!rsPeers)
|
if(!rsPeers)
|
||||||
return false;
|
return false;
|
||||||
RsPgpId peer_id (sourceModel()->data(sourceModel()->index(sourceRow, COLUMN_PEERID, sourceParent)).toString().toStdString());
|
RsPgpId peer_id (sourceModel()->data(sourceModel()->index(sourceRow, pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID, sourceParent)).toString().toStdString());
|
||||||
RsPeerDetails details;
|
RsPeerDetails details;
|
||||||
if(!rsPeers->getGPGDetails(peer_id, details))
|
if(!rsPeers->getGPGDetails(peer_id, details))
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -34,14 +34,7 @@ class pgpid_item_proxy :
|
||||||
public:
|
public:
|
||||||
pgpid_item_proxy(QObject *parent = nullptr);
|
pgpid_item_proxy(QObject *parent = nullptr);
|
||||||
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
|
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
|
||||||
|
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
|
||||||
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
|
|
||||||
{
|
|
||||||
if(left.column() == COLUMN_LAST_USED)
|
|
||||||
return left.data(Qt::EditRole).toUInt() < right.data(Qt::EditRole).toUInt();
|
|
||||||
else
|
|
||||||
return left.data(Qt::DisplayRole).toString().toUpper() < right.data(Qt::DisplayRole).toString().toUpper();
|
|
||||||
}
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void use_only_trusted_keys(bool val);
|
void use_only_trusted_keys(bool val);
|
||||||
|
|
|
@ -48,6 +48,15 @@
|
||||||
* #define RDM_SEARCH_DEBUG
|
* #define RDM_SEARCH_DEBUG
|
||||||
****/
|
****/
|
||||||
|
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_NAME 0
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_FILENB 1
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_SIZE 2
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_AGE 3
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS 4
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_WN_VISU_DIR 5
|
||||||
|
#define REMOTEDIRMODEL_COLUMN_COUNT 6
|
||||||
|
#define RETROSHARE_DIR_MODEL_FILTER_STRING "filtered"
|
||||||
|
|
||||||
static const uint32_t FLAT_VIEW_MAX_REFS_PER_SECOND = 2000 ;
|
static const uint32_t FLAT_VIEW_MAX_REFS_PER_SECOND = 2000 ;
|
||||||
static const size_t FLAT_VIEW_MAX_REFS_TABLE_SIZE = 10000 ; //
|
static const size_t FLAT_VIEW_MAX_REFS_TABLE_SIZE = 10000 ; //
|
||||||
static const uint32_t FLAT_VIEW_MIN_DELAY_BETWEEN_UPDATES = 120 ; // dont rebuild ref list more than every 2 mins.
|
static const uint32_t FLAT_VIEW_MIN_DELAY_BETWEEN_UPDATES = 120 ; // dont rebuild ref list more than every 2 mins.
|
||||||
|
@ -295,11 +304,11 @@ int FlatStyle_RDM::rowCount(const QModelIndex &parent) const
|
||||||
|
|
||||||
int TreeStyle_RDM::columnCount(const QModelIndex &/*parent*/) const
|
int TreeStyle_RDM::columnCount(const QModelIndex &/*parent*/) const
|
||||||
{
|
{
|
||||||
return COLUMN_COUNT;
|
return REMOTEDIRMODEL_COLUMN_COUNT;
|
||||||
}
|
}
|
||||||
int FlatStyle_RDM::columnCount(const QModelIndex &/*parent*/) const
|
int FlatStyle_RDM::columnCount(const QModelIndex &/*parent*/) const
|
||||||
{
|
{
|
||||||
return COLUMN_COUNT;
|
return REMOTEDIRMODEL_COLUMN_COUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString RetroshareDirModel::getFlagsString(FileStorageFlags flags)
|
QString RetroshareDirModel::getFlagsString(FileStorageFlags flags)
|
||||||
|
@ -416,7 +425,7 @@ QVariant RetroshareDirModel::filterRole(const DirDetails& details, int /*coln*/)
|
||||||
|
|
||||||
QVariant RetroshareDirModel::decorationRole(const DirDetails& details,int coln) const
|
QVariant RetroshareDirModel::decorationRole(const DirDetails& details,int coln) const
|
||||||
{
|
{
|
||||||
if(coln == COLUMN_FRIEND_ACCESS)
|
if(coln == REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS)
|
||||||
{
|
{
|
||||||
if(details.type == DIR_TYPE_PERSON) return QVariant() ;
|
if(details.type == DIR_TYPE_PERSON) return QVariant() ;
|
||||||
|
|
||||||
|
@ -484,7 +493,7 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME: {
|
case REMOTEDIRMODEL_COLUMN_NAME: {
|
||||||
//SharedDirStats stats ;
|
//SharedDirStats stats ;
|
||||||
QString res ;
|
QString res ;
|
||||||
|
|
||||||
|
@ -497,7 +506,7 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
|
|
||||||
return res ;
|
return res ;
|
||||||
}
|
}
|
||||||
case COLUMN_FILENB: {
|
case REMOTEDIRMODEL_COLUMN_FILENB: {
|
||||||
SharedDirStats stats ;
|
SharedDirStats stats ;
|
||||||
|
|
||||||
if(RemoteMode)
|
if(RemoteMode)
|
||||||
|
@ -516,7 +525,7 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
}
|
}
|
||||||
return tr("Empty");
|
return tr("Empty");
|
||||||
}
|
}
|
||||||
case COLUMN_SIZE: {
|
case REMOTEDIRMODEL_COLUMN_SIZE: {
|
||||||
SharedDirStats stats ;
|
SharedDirStats stats ;
|
||||||
|
|
||||||
if(RemoteMode)
|
if(RemoteMode)
|
||||||
|
@ -531,7 +540,7 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
|
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
if(!isNewerThanEpoque(details.max_mtime))
|
if(!isNewerThanEpoque(details.max_mtime))
|
||||||
return QString();
|
return QString();
|
||||||
else if(details.id != rsPeers->getOwnId())
|
else if(details.id != rsPeers->getOwnId())
|
||||||
|
@ -547,13 +556,13 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
return QString::fromUtf8(details.name.c_str());
|
return QString::fromUtf8(details.name.c_str());
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return misc::friendlyUnit(details.size);
|
return misc::friendlyUnit(details.size);
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
{
|
{
|
||||||
if(details.type == DIR_TYPE_FILE)
|
if(details.type == DIR_TYPE_FILE)
|
||||||
return misc::timeRelativeToNow(details.max_mtime);
|
return misc::timeRelativeToNow(details.max_mtime);
|
||||||
|
@ -567,9 +576,9 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
else
|
else
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
case COLUMN_WN_VISU_DIR:
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR:
|
||||||
return getGroupsString(details.flags,details.parent_groups) ;
|
return getGroupsString(details.flags,details.parent_groups) ;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -580,22 +589,22 @@ QVariant TreeStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
return QString::fromUtf8(details.name.c_str());
|
return QString::fromUtf8(details.name.c_str());
|
||||||
break;
|
break;
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
if (details.children.size() > 1)
|
if (details.children.size() > 1)
|
||||||
{
|
{
|
||||||
return QString::number(details.children.size()) + " " + tr("Files");
|
return QString::number(details.children.size()) + " " + tr("Files");
|
||||||
}
|
}
|
||||||
return QString::number(details.children.size()) + " " + tr("File");
|
return QString::number(details.children.size()) + " " + tr("File");
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return misc::friendlyUnit(details.size);
|
return misc::friendlyUnit(details.size);
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return misc::timeRelativeToNow(details.max_mtime);
|
return misc::timeRelativeToNow(details.max_mtime);
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
return QVariant();
|
return QVariant();
|
||||||
case COLUMN_WN_VISU_DIR:
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR:
|
||||||
return getGroupsString(details.flags,details.parent_groups) ;
|
return getGroupsString(details.flags,details.parent_groups) ;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -650,12 +659,12 @@ QVariant FlatStyle_RDM::displayRole(const DirDetails& details,int coln) const
|
||||||
if (details.type == DIR_TYPE_FILE || details.type == DIR_TYPE_EXTRA_FILE) /* File */
|
if (details.type == DIR_TYPE_FILE || details.type == DIR_TYPE_EXTRA_FILE) /* File */
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME: return QString::fromUtf8(details.name.c_str());
|
case REMOTEDIRMODEL_COLUMN_NAME: return QString::fromUtf8(details.name.c_str());
|
||||||
case COLUMN_FILENB: return QString();
|
case REMOTEDIRMODEL_COLUMN_FILENB: return QString();
|
||||||
case COLUMN_SIZE: return misc::friendlyUnit(details.size);
|
case REMOTEDIRMODEL_COLUMN_SIZE: return misc::friendlyUnit(details.size);
|
||||||
case COLUMN_AGE: return misc::timeRelativeToNow(details.max_mtime);
|
case REMOTEDIRMODEL_COLUMN_AGE: return misc::timeRelativeToNow(details.max_mtime);
|
||||||
case COLUMN_FRIEND_ACCESS: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str());
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str());
|
||||||
case COLUMN_WN_VISU_DIR: return computeDirectoryPath(details);
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR: return computeDirectoryPath(details);
|
||||||
default:
|
default:
|
||||||
return QVariant() ;
|
return QVariant() ;
|
||||||
}
|
}
|
||||||
|
@ -675,9 +684,9 @@ QVariant TreeStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
return (RemoteMode)?(QString::fromUtf8(rsPeers->getPeerName(details.id).c_str())):tr("My files");
|
return (RemoteMode)?(QString::fromUtf8(rsPeers->getPeerName(details.id).c_str())):tr("My files");
|
||||||
case COLUMN_FILENB: {
|
case REMOTEDIRMODEL_COLUMN_FILENB: {
|
||||||
SharedDirStats stats ;
|
SharedDirStats stats ;
|
||||||
|
|
||||||
if(RemoteMode)
|
if(RemoteMode)
|
||||||
|
@ -687,7 +696,7 @@ QVariant TreeStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
|
|
||||||
return (qulonglong) stats.total_number_of_files;
|
return (qulonglong) stats.total_number_of_files;
|
||||||
}
|
}
|
||||||
case COLUMN_SIZE: {
|
case REMOTEDIRMODEL_COLUMN_SIZE: {
|
||||||
SharedDirStats stats ;
|
SharedDirStats stats ;
|
||||||
|
|
||||||
if(RemoteMode)
|
if(RemoteMode)
|
||||||
|
@ -697,7 +706,7 @@ QVariant TreeStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
|
|
||||||
return (qulonglong) stats.total_shared_size;
|
return (qulonglong) stats.total_shared_size;
|
||||||
}
|
}
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return details.max_mtime;
|
return details.max_mtime;
|
||||||
default:
|
default:
|
||||||
return QString();
|
return QString();
|
||||||
|
@ -707,17 +716,17 @@ QVariant TreeStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
return QString::fromUtf8(details.name.c_str());
|
return QString::fromUtf8(details.name.c_str());
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
return (qulonglong) 0;
|
return (qulonglong) 0;
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return (qulonglong) details.size;
|
return (qulonglong) details.size;
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return details.max_mtime;
|
return details.max_mtime;
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
return getFlagsString(details.flags);
|
return getFlagsString(details.flags);
|
||||||
case COLUMN_WN_VISU_DIR:
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR:
|
||||||
{
|
{
|
||||||
QString ind("");
|
QString ind("");
|
||||||
if (ageIndicator != IND_ALWAYS)
|
if (ageIndicator != IND_ALWAYS)
|
||||||
|
@ -732,15 +741,15 @@ QVariant TreeStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
return QString::fromUtf8(details.name.c_str());
|
return QString::fromUtf8(details.name.c_str());
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
return (qulonglong) details.children.size();
|
return (qulonglong) details.children.size();
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return (qulonglong) 0;
|
return (qulonglong) 0;
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return details.max_mtime;
|
return details.max_mtime;
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
return getFlagsString(details.flags);
|
return getFlagsString(details.flags);
|
||||||
default:
|
default:
|
||||||
return tr("DIR");
|
return tr("DIR");
|
||||||
|
@ -760,12 +769,12 @@ QVariant FlatStyle_RDM::sortRole(const QModelIndex& /*index*/,const DirDetails&
|
||||||
{
|
{
|
||||||
switch(coln)
|
switch(coln)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME: return QString::fromUtf8(details.name.c_str());
|
case REMOTEDIRMODEL_COLUMN_NAME: return QString::fromUtf8(details.name.c_str());
|
||||||
case COLUMN_FILENB: return (qulonglong) 0;
|
case REMOTEDIRMODEL_COLUMN_FILENB: return (qulonglong) 0;
|
||||||
case COLUMN_SIZE: return (qulonglong) details.size;
|
case REMOTEDIRMODEL_COLUMN_SIZE: return (qulonglong) details.size;
|
||||||
case COLUMN_AGE: return details.max_mtime;
|
case REMOTEDIRMODEL_COLUMN_AGE: return details.max_mtime;
|
||||||
case COLUMN_FRIEND_ACCESS: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str());
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS: return QString::fromUtf8(rsPeers->getPeerName(details.id).c_str());
|
||||||
case COLUMN_WN_VISU_DIR: {
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR: {
|
||||||
RS_STACK_MUTEX(_ref_mutex) ;
|
RS_STACK_MUTEX(_ref_mutex) ;
|
||||||
|
|
||||||
return computeDirectoryPath(details);
|
return computeDirectoryPath(details);
|
||||||
|
@ -793,7 +802,7 @@ QVariant RetroshareDirModel::data(const QModelIndex &index, int role) const
|
||||||
|
|
||||||
if (role == Qt::TextAlignmentRole)
|
if (role == Qt::TextAlignmentRole)
|
||||||
{
|
{
|
||||||
if((coln == COLUMN_FILENB) || (coln == COLUMN_SIZE))
|
if((coln == REMOTEDIRMODEL_COLUMN_FILENB) || (coln == REMOTEDIRMODEL_COLUMN_SIZE))
|
||||||
return int( Qt::AlignRight | Qt::AlignVCenter);
|
return int( Qt::AlignRight | Qt::AlignVCenter);
|
||||||
else
|
else
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
@ -895,7 +904,7 @@ QVariant TreeStyle_RDM::headerData(int section, Qt::Orientation orientation, int
|
||||||
int defw = QFontMetricsF(QWidget().font()).width(headerData(section,Qt::Horizontal,Qt::DisplayRole).toString()) ;
|
int defw = QFontMetricsF(QWidget().font()).width(headerData(section,Qt::Horizontal,Qt::DisplayRole).toString()) ;
|
||||||
int defh = QFontMetricsF(QWidget().font()).height();
|
int defh = QFontMetricsF(QWidget().font()).height();
|
||||||
|
|
||||||
if (section < COLUMN_AGE)
|
if (section < REMOTEDIRMODEL_COLUMN_AGE)
|
||||||
{
|
{
|
||||||
defw = 200/16.0*defh;
|
defw = 200/16.0*defh;
|
||||||
}
|
}
|
||||||
|
@ -909,7 +918,7 @@ QVariant TreeStyle_RDM::headerData(int section, Qt::Orientation orientation, int
|
||||||
{
|
{
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
if (RemoteMode)
|
if (RemoteMode)
|
||||||
if(mUpdating)
|
if(mUpdating)
|
||||||
return tr("Friends Directories [updating...]");
|
return tr("Friends Directories [updating...]");
|
||||||
|
@ -920,18 +929,18 @@ QVariant TreeStyle_RDM::headerData(int section, Qt::Orientation orientation, int
|
||||||
return tr("My Directories [updating...]");
|
return tr("My Directories [updating...]");
|
||||||
else
|
else
|
||||||
return tr("My Directories");
|
return tr("My Directories");
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
return tr("# Files");
|
return tr("# Files");
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return tr("Size");
|
return tr("Size");
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return tr("Age");
|
return tr("Age");
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
if (RemoteMode)
|
if (RemoteMode)
|
||||||
return tr("Friend");
|
return tr("Friend");
|
||||||
else
|
else
|
||||||
return tr("Access");
|
return tr("Access");
|
||||||
case COLUMN_WN_VISU_DIR:
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR:
|
||||||
if (RemoteMode)
|
if (RemoteMode)
|
||||||
return tr("What's new");
|
return tr("What's new");
|
||||||
else
|
else
|
||||||
|
@ -949,7 +958,7 @@ QVariant FlatStyle_RDM::headerData(int section, Qt::Orientation orientation, int
|
||||||
int defw = QFontMetricsF(QWidget().font()).width(headerData(section,Qt::Horizontal,Qt::DisplayRole).toString()) ;
|
int defw = QFontMetricsF(QWidget().font()).width(headerData(section,Qt::Horizontal,Qt::DisplayRole).toString()) ;
|
||||||
int defh = QFontMetricsF(QWidget().font()).height();
|
int defh = QFontMetricsF(QWidget().font()).height();
|
||||||
|
|
||||||
if (section < COLUMN_AGE)
|
if (section < REMOTEDIRMODEL_COLUMN_AGE)
|
||||||
{
|
{
|
||||||
defw = defh*200/16.0;
|
defw = defh*200/16.0;
|
||||||
}
|
}
|
||||||
|
@ -963,24 +972,24 @@ QVariant FlatStyle_RDM::headerData(int section, Qt::Orientation orientation, int
|
||||||
{
|
{
|
||||||
switch(section)
|
switch(section)
|
||||||
{
|
{
|
||||||
case COLUMN_NAME:
|
case REMOTEDIRMODEL_COLUMN_NAME:
|
||||||
if (RemoteMode)
|
if (RemoteMode)
|
||||||
{
|
{
|
||||||
return tr("Friends Directories");
|
return tr("Friends Directories");
|
||||||
}
|
}
|
||||||
return tr("My Directories");
|
return tr("My Directories");
|
||||||
case COLUMN_FILENB:
|
case REMOTEDIRMODEL_COLUMN_FILENB:
|
||||||
return tr("# Files");
|
return tr("# Files");
|
||||||
case COLUMN_SIZE:
|
case REMOTEDIRMODEL_COLUMN_SIZE:
|
||||||
return tr("Size");
|
return tr("Size");
|
||||||
case COLUMN_AGE:
|
case REMOTEDIRMODEL_COLUMN_AGE:
|
||||||
return tr("Age");
|
return tr("Age");
|
||||||
case COLUMN_FRIEND_ACCESS:
|
case REMOTEDIRMODEL_COLUMN_FRIEND_ACCESS:
|
||||||
if(RemoteMode)
|
if(RemoteMode)
|
||||||
return tr("Friend");
|
return tr("Friend");
|
||||||
else
|
else
|
||||||
return tr("Share Flags");
|
return tr("Share Flags");
|
||||||
case COLUMN_WN_VISU_DIR:
|
case REMOTEDIRMODEL_COLUMN_WN_VISU_DIR:
|
||||||
return tr("Directory");
|
return tr("Directory");
|
||||||
}
|
}
|
||||||
return tr("Column %1").arg(section);
|
return tr("Column %1").arg(section);
|
||||||
|
@ -1096,7 +1105,7 @@ QModelIndex TreeStyle_RDM::parent( const QModelIndex & index ) const
|
||||||
std::cerr << "Creating index 3 row=" << details.prow << ", column=" << 0 << ", ref=" << (void*)details.parent << std::endl;
|
std::cerr << "Creating index 3 row=" << details.prow << ", column=" << 0 << ", ref=" << (void*)details.parent << std::endl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return createIndex(details.prow, COLUMN_NAME, details.parent);
|
return createIndex(details.prow, REMOTEDIRMODEL_COLUMN_NAME, details.parent);
|
||||||
}
|
}
|
||||||
QModelIndex FlatStyle_RDM::parent( const QModelIndex & index ) const
|
QModelIndex FlatStyle_RDM::parent( const QModelIndex & index ) const
|
||||||
{
|
{
|
||||||
|
@ -1167,7 +1176,7 @@ void RetroshareDirModel::postMods()
|
||||||
|
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
|
||||||
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(rowCount()-1,COLUMN_COUNT-1,(void*)NULL));
|
emit dataChanged(createIndex(0,0,(void*)NULL), createIndex(rowCount()-1,REMOTEDIRMODEL_COLUMN_COUNT-1,(void*)NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FlatStyle_RDM::postMods()
|
void FlatStyle_RDM::postMods()
|
||||||
|
@ -1340,7 +1349,7 @@ void RetroshareDirModel::getDirDetailsFromSelect (const QModelIndexList &list, s
|
||||||
QModelIndexList::const_iterator it;
|
QModelIndexList::const_iterator it;
|
||||||
for(it = list.begin(); it != list.end(); ++it)
|
for(it = list.begin(); it != list.end(); ++it)
|
||||||
{
|
{
|
||||||
if(it->column()==COLUMN_FILENB)
|
if(it->column()==REMOTEDIRMODEL_COLUMN_FILENB)
|
||||||
{
|
{
|
||||||
void *ref = it -> internalPointer();
|
void *ref = it -> internalPointer();
|
||||||
|
|
||||||
|
@ -1377,7 +1386,7 @@ void RetroshareDirModel::getFileInfoFromIndexList(const QModelIndexList& list, s
|
||||||
std::set<std::string> already_in ;
|
std::set<std::string> already_in ;
|
||||||
|
|
||||||
for(QModelIndexList::const_iterator it(list.begin()); it != list.end(); ++it)
|
for(QModelIndexList::const_iterator it(list.begin()); it != list.end(); ++it)
|
||||||
if(it->column()==COLUMN_NAME)
|
if(it->column()==REMOTEDIRMODEL_COLUMN_NAME)
|
||||||
{
|
{
|
||||||
void *ref = it -> internalPointer();
|
void *ref = it -> internalPointer();
|
||||||
|
|
||||||
|
@ -1458,7 +1467,7 @@ void RetroshareDirModel::openSelected(const QModelIndexList &qmil, bool openDir)
|
||||||
|
|
||||||
void RetroshareDirModel::getFilePath(const QModelIndex& index, std::string& fullpath)
|
void RetroshareDirModel::getFilePath(const QModelIndex& index, std::string& fullpath)
|
||||||
{
|
{
|
||||||
void *ref = index.sibling(index.row(),COLUMN_FILENB).internalPointer();
|
void *ref = index.sibling(index.row(),REMOTEDIRMODEL_COLUMN_FILENB).internalPointer();
|
||||||
|
|
||||||
DirDetails details ;
|
DirDetails details ;
|
||||||
|
|
||||||
|
|
|
@ -32,15 +32,6 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#define COLUMN_NAME 0
|
|
||||||
#define COLUMN_FILENB 1
|
|
||||||
#define COLUMN_SIZE 2
|
|
||||||
#define COLUMN_AGE 3
|
|
||||||
#define COLUMN_FRIEND_ACCESS 4
|
|
||||||
#define COLUMN_WN_VISU_DIR 5
|
|
||||||
#define COLUMN_COUNT 6
|
|
||||||
#define RETROSHARE_DIR_MODEL_FILTER_STRING "filtered"
|
|
||||||
|
|
||||||
struct DirDetails;
|
struct DirDetails;
|
||||||
|
|
||||||
class DirDetailsVector : public DirDetails
|
class DirDetailsVector : public DirDetails
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
* *
|
* *
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "ui_BandwidthStatsWidget.h"
|
#include "ui_BandwidthStatsWidget.h"
|
||||||
#include "BWGraph.h"
|
#include "BWGraph.h"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue