|
@ -221,7 +221,7 @@ option(WITH_CLIENT "build cockatrice" ON)
|
||||||
if(WITH_CLIENT)
|
if(WITH_CLIENT)
|
||||||
add_subdirectory(cockatrice)
|
add_subdirectory(cockatrice)
|
||||||
add_subdirectory(sounds)
|
add_subdirectory(sounds)
|
||||||
add_subdirectory(zonebg)
|
add_subdirectory(themes)
|
||||||
SET(CPACK_INSTALL_CMAKE_PROJECTS "cockatrice;cockatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
|
SET(CPACK_INSTALL_CMAKE_PROJECTS "cockatrice;cockatrice;ALL;/" ${CPACK_INSTALL_CMAKE_PROJECTS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,7 @@ SET(cockatrice_SOURCES
|
||||||
src/playerlistwidget.cpp
|
src/playerlistwidget.cpp
|
||||||
src/pixmapgenerator.cpp
|
src/pixmapgenerator.cpp
|
||||||
src/settingscache.cpp
|
src/settingscache.cpp
|
||||||
|
src/thememanager.cpp
|
||||||
src/localserver.cpp
|
src/localserver.cpp
|
||||||
src/localserverinterface.cpp
|
src/localserverinterface.cpp
|
||||||
src/localclient.cpp
|
src/localclient.cpp
|
||||||
|
|
|
@ -1,57 +1,58 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/">
|
<qresource prefix="/" >
|
||||||
<file alias="back.svg">resources/back.svg</file>
|
<file>resources/back.svg</file>
|
||||||
<file>resources/lock.svg</file>
|
<file>resources/cockatrice.svg</file>
|
||||||
<file>resources/icon_delete.svg</file>
|
|
||||||
<file>resources/icon_tab_changed.svg</file>
|
|
||||||
<file>resources/icon_config_general.svg</file>
|
|
||||||
<file>resources/icon_config_appearance.svg</file>
|
|
||||||
<file>resources/icon_config_interface.svg</file>
|
|
||||||
<file>resources/icon_config_messages.svg</file>
|
|
||||||
<file>resources/icon_config_deckeditor.svg</file>
|
|
||||||
<file>resources/icon_config_sound.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_untap.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_upkeep.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_draw.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_main1.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_combat_start.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_combat_attackers.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_combat_blockers.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_combat_damage.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_combat_end.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_main2.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_cleanup.svg</file>
|
|
||||||
<file>resources/phases/icon_phase_nextturn.svg</file>
|
|
||||||
<file>resources/icon_settings.svg</file>
|
|
||||||
<file>resources/hand.svg</file>
|
<file>resources/hand.svg</file>
|
||||||
<file>resources/pencil.svg</file>
|
|
||||||
<file>resources/icon_search_black.svg</file>
|
|
||||||
<file>resources/icon_clearsearch.svg</file>
|
|
||||||
<file>resources/icon_update.png</file>
|
|
||||||
<file>resources/icon_view.svg</file>
|
|
||||||
<file>resources/hr.jpg</file>
|
<file>resources/hr.jpg</file>
|
||||||
<file alias="resources/appicon.svg">resources/cockatrice.svg</file>
|
|
||||||
<file>resources/add_to_sideboard.svg</file>
|
<file>resources/icons/arrow_bottom_green.svg</file>
|
||||||
<file>resources/decrement.svg</file>
|
<file>resources/icons/arrow_down_green.svg</file>
|
||||||
<file>resources/increment.svg</file>
|
<file>resources/icons/arrow_left_green.svg</file>
|
||||||
<file>resources/remove_row.svg</file>
|
<file>resources/icons/arrow_right_blue.svg</file>
|
||||||
<file>resources/arrow_left_green.svg</file>
|
<file>resources/icons/arrow_right_green.svg</file>
|
||||||
<file>resources/arrow_right_green.svg</file>
|
<file>resources/icons/arrow_top_green.svg</file>
|
||||||
<file>resources/arrow_top_green.svg</file>
|
<file>resources/icons/arrow_up_green.svg</file>
|
||||||
<file>resources/arrow_up_green.svg</file>
|
<file>resources/icons/clearsearch.svg</file>
|
||||||
<file>resources/arrow_down_green.svg</file>
|
<file>resources/icons/conceded.svg</file>
|
||||||
<file>resources/arrow_bottom_green.svg</file>
|
<file>resources/icons/decrement.svg</file>
|
||||||
<file>resources/icon_ready_start.svg</file>
|
<file>resources/icons/delete.svg</file>
|
||||||
<file>resources/icon_not_ready_start.svg</file>
|
<file>resources/icons/increment.svg</file>
|
||||||
<file>resources/icon_conceded.svg</file>
|
<file>resources/icons/lock.svg</file>
|
||||||
<file>resources/icon_player.svg</file>
|
<file>resources/icons/not_ready_start.svg</file>
|
||||||
<file>resources/icon_spectator.svg</file>
|
<file>resources/icons/pencil.svg</file>
|
||||||
<file>resources/replay_start.svg</file>
|
<file>resources/icons/player.svg</file>
|
||||||
<file>resources/replay_fastforward.svg</file>
|
<file>resources/icons/ready_start.svg</file>
|
||||||
<file>resources/replay_pause.svg</file>
|
<file>resources/icons/remove_row.svg</file>
|
||||||
<file>resources/genders/male.svg</file>
|
<file>resources/icons/search.svg</file>
|
||||||
<file>resources/genders/female.svg</file>
|
<file>resources/icons/settings.svg</file>
|
||||||
<file>resources/genders/unknown.svg</file>
|
<file>resources/icons/spectator.svg</file>
|
||||||
|
<file>resources/icons/tab_changed.svg</file>
|
||||||
|
<file>resources/icons/update.png</file>
|
||||||
|
<file>resources/icons/view.svg</file>
|
||||||
|
|
||||||
|
<file>resources/config/general.svg</file>
|
||||||
|
<file>resources/config/appearance.svg</file>
|
||||||
|
<file>resources/config/interface.svg</file>
|
||||||
|
<file>resources/config/messages.svg</file>
|
||||||
|
<file>resources/config/deckeditor.svg</file>
|
||||||
|
<file>resources/config/shorcuts.svg</file>
|
||||||
|
<file>resources/config/sound.svg</file>
|
||||||
|
|
||||||
|
<file>resources/counters/w.svg</file>
|
||||||
|
<file>resources/counters/w_highlight.svg</file>
|
||||||
|
<file>resources/counters/u.svg</file>
|
||||||
|
<file>resources/counters/u_highlight.svg</file>
|
||||||
|
<file>resources/counters/b.svg</file>
|
||||||
|
<file>resources/counters/b_highlight.svg</file>
|
||||||
|
<file>resources/counters/r.svg</file>
|
||||||
|
<file>resources/counters/r_highlight.svg</file>
|
||||||
|
<file>resources/counters/g.svg</file>
|
||||||
|
<file>resources/counters/g_highlight.svg</file>
|
||||||
|
<file>resources/counters/storm.svg</file>
|
||||||
|
<file>resources/counters/storm_highlight.svg</file>
|
||||||
|
<file>resources/counters/general.svg</file>
|
||||||
|
<file>resources/counters/general_highlight.svg</file>
|
||||||
|
|
||||||
<file>resources/countries/ad.svg</file>
|
<file>resources/countries/ad.svg</file>
|
||||||
<file>resources/countries/ae.svg</file>
|
<file>resources/countries/ae.svg</file>
|
||||||
<file>resources/countries/af.svg</file>
|
<file>resources/countries/af.svg</file>
|
||||||
|
@ -301,20 +302,28 @@
|
||||||
<file>resources/countries/za.svg</file>
|
<file>resources/countries/za.svg</file>
|
||||||
<file>resources/countries/zm.svg</file>
|
<file>resources/countries/zm.svg</file>
|
||||||
<file>resources/countries/zw.svg</file>
|
<file>resources/countries/zw.svg</file>
|
||||||
<file>resources/counters/w.svg</file>
|
|
||||||
<file>resources/counters/w_highlight.svg</file>
|
<file>resources/genders/male.svg</file>
|
||||||
<file>resources/counters/u.svg</file>
|
<file>resources/genders/female.svg</file>
|
||||||
<file>resources/counters/u_highlight.svg</file>
|
<file>resources/genders/unknown.svg</file>
|
||||||
<file>resources/counters/b.svg</file>
|
|
||||||
<file>resources/counters/b_highlight.svg</file>
|
<file>resources/phases/untap.svg</file>
|
||||||
<file>resources/counters/r.svg</file>
|
<file>resources/phases/upkeep.svg</file>
|
||||||
<file>resources/counters/r_highlight.svg</file>
|
<file>resources/phases/draw.svg</file>
|
||||||
<file>resources/counters/g.svg</file>
|
<file>resources/phases/main1.svg</file>
|
||||||
<file>resources/counters/g_highlight.svg</file>
|
<file>resources/phases/combat_start.svg</file>
|
||||||
<file>resources/counters/storm.svg</file>
|
<file>resources/phases/combat_attackers.svg</file>
|
||||||
<file>resources/counters/storm_highlight.svg</file>
|
<file>resources/phases/combat_blockers.svg</file>
|
||||||
<file>resources/counters/general.svg</file>
|
<file>resources/phases/combat_damage.svg</file>
|
||||||
<file>resources/counters/general_highlight.svg</file>
|
<file>resources/phases/combat_end.svg</file>
|
||||||
|
<file>resources/phases/main2.svg</file>
|
||||||
|
<file>resources/phases/cleanup.svg</file>
|
||||||
|
<file>resources/phases/nextturn.svg</file>
|
||||||
|
|
||||||
|
<file>resources/replay/start.svg</file>
|
||||||
|
<file>resources/replay/fastforward.svg</file>
|
||||||
|
<file>resources/replay/pause.svg</file>
|
||||||
|
|
||||||
<file>resources/userlevels/normal.svg</file>
|
<file>resources/userlevels/normal.svg</file>
|
||||||
<file>resources/userlevels/registered.svg</file>
|
<file>resources/userlevels/registered.svg</file>
|
||||||
<file>resources/userlevels/registered_buddy.svg</file>
|
<file>resources/userlevels/registered_buddy.svg</file>
|
||||||
|
@ -322,8 +331,5 @@
|
||||||
<file>resources/userlevels/moderator_buddy.svg</file>
|
<file>resources/userlevels/moderator_buddy.svg</file>
|
||||||
<file>resources/userlevels/admin.svg</file>
|
<file>resources/userlevels/admin.svg</file>
|
||||||
<file>resources/userlevels/admin_buddy.svg</file>
|
<file>resources/userlevels/admin_buddy.svg</file>
|
||||||
<file>resources/news/exclamation_mark.svg</file>
|
|
||||||
<file>resources/news/question_mark.svg</file>
|
|
||||||
<file>resources/icon_config_shorcuts.svg</file>
|
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
@ -1,75 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="100"
|
|
||||||
height="100"
|
|
||||||
id="svg2858"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.0 r9654"
|
|
||||||
sodipodi:docname="icon_tab_changed.svg">
|
|
||||||
<defs
|
|
||||||
id="defs2860">
|
|
||||||
<inkscape:perspective
|
|
||||||
sodipodi:type="inkscape:persp3d"
|
|
||||||
inkscape:vp_x="0 : 526.18109 : 1"
|
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
|
||||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
|
||||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
|
||||||
id="perspective2866" />
|
|
||||||
<inkscape:perspective
|
|
||||||
id="perspective2853"
|
|
||||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
|
||||||
inkscape:vp_z="1 : 0.5 : 1"
|
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
|
||||||
inkscape:vp_x="0 : 0.5 : 1"
|
|
||||||
sodipodi:type="inkscape:persp3d" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="5"
|
|
||||||
inkscape:cx="4.1"
|
|
||||||
inkscape:cy="49.523097"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:window-width="1280"
|
|
||||||
inkscape:window-height="949"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="25"
|
|
||||||
inkscape:window-maximized="1" />
|
|
||||||
<metadata
|
|
||||||
id="metadata2863">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-952.36218)">
|
|
||||||
<path
|
|
||||||
style="font-size:253.89010620000001950px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#e50000;fill-opacity:1;stroke:#000000;stroke-width:2.39700006999999982;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;font-family:Century Schoolbook L;-inkscape-font-specification:Century Schoolbook L Medium"
|
|
||||||
d="m 53.225642,1018.5513 c 0.486911,-13.2677 1.704142,-22.64046 4.016877,-30.55249 3.895149,-13.38951 4.138607,-14.48503 4.138607,-19.23224 0,-7.66855 -4.260334,-12.17232 -11.320268,-12.17232 -7.181659,0 -11.441984,4.50377 -11.441984,12.17232 0,3.16481 0.60863,7.18167 1.704135,10.83336 4.868924,16.06746 5.720972,21.30157 6.45134,38.95137 l 6.451293,0 m -3.286511,6.8165 c -6.207884,0 -11.320257,5.1124 -11.320257,11.3204 0,6.2079 5.112373,11.4419 11.198528,11.4419 6.451342,0 11.563724,-5.1124 11.563724,-11.4419 0,-6.208 -5.112382,-11.3204 -11.441995,-11.3204"
|
|
||||||
id="text3838" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.1 KiB |
|
@ -1,105 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="100"
|
|
||||||
height="100"
|
|
||||||
id="svg2858"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.0 r9654"
|
|
||||||
sodipodi:docname="exclamation_mark.svg">
|
|
||||||
<defs
|
|
||||||
id="defs2860">
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient3795">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#000000;stop-opacity:1;"
|
|
||||||
offset="0"
|
|
||||||
id="stop3797" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#000000;stop-opacity:0;"
|
|
||||||
offset="1"
|
|
||||||
id="stop3799" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:perspective
|
|
||||||
sodipodi:type="inkscape:persp3d"
|
|
||||||
inkscape:vp_x="0 : 526.18109 : 1"
|
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
|
||||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
|
||||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
|
||||||
id="perspective2866" />
|
|
||||||
<inkscape:perspective
|
|
||||||
id="perspective2853"
|
|
||||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
|
||||||
inkscape:vp_z="1 : 0.5 : 1"
|
|
||||||
inkscape:vp_y="0 : 1000 : 0"
|
|
||||||
inkscape:vp_x="0 : 0.5 : 1"
|
|
||||||
sodipodi:type="inkscape:persp3d" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient3795"
|
|
||||||
id="linearGradient3801"
|
|
||||||
x1="29.834375"
|
|
||||||
y1="999.20284"
|
|
||||||
x2="72.173357"
|
|
||||||
y2="999.20284"
|
|
||||||
gradientUnits="userSpaceOnUse" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="5"
|
|
||||||
inkscape:cx="24.413577"
|
|
||||||
inkscape:cy="49.523097"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:window-width="1280"
|
|
||||||
inkscape:window-height="949"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="25"
|
|
||||||
inkscape:window-maximized="1" />
|
|
||||||
<metadata
|
|
||||||
id="metadata2863">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-952.36218)">
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:129.98471069px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#e00000;fill-opacity:1;stroke:#000000;stroke-width:1.78699994;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Rachana;-inkscape-font-specification:Rachana"
|
|
||||||
x="18.646267"
|
|
||||||
y="1045.775"
|
|
||||||
id="text3791"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3793"
|
|
||||||
x="18.646267"
|
|
||||||
y="1045.775"
|
|
||||||
style="fill:#e00000;fill-opacity:1;stroke-width:1.78699994;stroke-miterlimit:4;stroke-dasharray:none">?</tspan></text>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
@ -1,100 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="32px"
|
|
||||||
height="32px"
|
|
||||||
id="svg3320"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.5 r10040"
|
|
||||||
sodipodi:docname="replay_stop.svg">
|
|
||||||
<defs
|
|
||||||
id="defs3322">
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient2237">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#006000;stop-opacity:1;"
|
|
||||||
offset="0"
|
|
||||||
id="stop2239" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#48ff00;stop-opacity:1;"
|
|
||||||
offset="1"
|
|
||||||
id="stop2241" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient3207"
|
|
||||||
id="linearGradient3998"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.8996584,0,0,0.8996584,543.08369,-117.97095)"
|
|
||||||
x1="293.33597"
|
|
||||||
y1="423.03891"
|
|
||||||
x2="330.00668"
|
|
||||||
y2="472.74878" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient3207">
|
|
||||||
<stop
|
|
||||||
id="stop3209"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
id="stop3211"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#48ff00;stop-opacity:0;" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="22.395604"
|
|
||||||
inkscape:cx="12.669812"
|
|
||||||
inkscape:cy="27.464311"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="true"
|
|
||||||
inkscape:grid-bbox="true"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:window-width="1099"
|
|
||||||
inkscape:window-height="800"
|
|
||||||
inkscape:window-x="128"
|
|
||||||
inkscape:window-y="20"
|
|
||||||
inkscape:window-maximized="0">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid2990" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata3325">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
id="layer1"
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer">
|
|
||||||
<rect
|
|
||||||
style="fill:#b60000;fill-opacity:1;fill-rule:nonzero;stroke:#3f0000;stroke-opacity:1;stroke-width:0.8;stroke-miterlimit:4;stroke-dasharray:none"
|
|
||||||
id="rect2994"
|
|
||||||
width="20.271835"
|
|
||||||
height="20.271835"
|
|
||||||
x="5.8940139"
|
|
||||||
y="5.2983313" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1,5 +1,7 @@
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
|
|
||||||
#include <QCryptographicHash>
|
#include <QCryptographicHash>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QDirIterator>
|
#include <QDirIterator>
|
||||||
|
@ -642,7 +644,7 @@ void CardInfo::loadPixmap(QPixmap &pixmap)
|
||||||
pixmap = QPixmap();
|
pixmap = QPixmap();
|
||||||
|
|
||||||
if (getName().isEmpty()) {
|
if (getName().isEmpty()) {
|
||||||
pixmap.load(settingsCache->getCardBackPicturePath());
|
pixmap = themeManager->getCardBackPixmap();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -672,15 +674,15 @@ void CardInfo::getPixmap(QSize size, QPixmap &pixmap)
|
||||||
QPixmap bigPixmap;
|
QPixmap bigPixmap;
|
||||||
loadPixmap(bigPixmap);
|
loadPixmap(bigPixmap);
|
||||||
if (bigPixmap.isNull()) {
|
if (bigPixmap.isNull()) {
|
||||||
if (!getName().isEmpty()) {
|
if (getName().isEmpty()) {
|
||||||
pixmap = QPixmap(); // null
|
QSvgRenderer svg(QString("theme:back.svg"));
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
QSvgRenderer svg(QString(":/back.svg"));
|
|
||||||
bigPixmap = QPixmap(svg.defaultSize());
|
bigPixmap = QPixmap(svg.defaultSize());
|
||||||
bigPixmap.fill(Qt::transparent);
|
bigPixmap.fill(Qt::transparent);
|
||||||
QPainter painter(&bigPixmap);
|
QPainter painter(&bigPixmap);
|
||||||
svg.render(&painter);
|
svg.render(&painter);
|
||||||
|
} else {
|
||||||
|
pixmap = QPixmap(); // null
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -808,7 +810,7 @@ CardDatabase::CardDatabase(QObject *parent)
|
||||||
noCard = new CardInfo(this);
|
noCard = new CardInfo(this);
|
||||||
QPixmap tmp;
|
QPixmap tmp;
|
||||||
noCard->loadPixmap(tmp); // cache pixmap for card back
|
noCard->loadPixmap(tmp); // cache pixmap for card back
|
||||||
connect(settingsCache, SIGNAL(cardBackPicturePathChanged()), noCard, SLOT(updatePixmapCache()));
|
connect(themeManager, SIGNAL(themeChanged()), noCard, SLOT(updatePixmapCache()));
|
||||||
}
|
}
|
||||||
|
|
||||||
CardDatabase::~CardDatabase()
|
CardDatabase::~CardDatabase()
|
||||||
|
|
|
@ -469,7 +469,7 @@ void DeckListModel::printDeckList(QPrinter *printer)
|
||||||
cursor.insertBlock(headerBlockFormat, headerCharFormat);
|
cursor.insertBlock(headerBlockFormat, headerCharFormat);
|
||||||
|
|
||||||
for (int i = 0; i < root->size(); i++) {
|
for (int i = 0; i < root->size(); i++) {
|
||||||
cursor.insertHtml("<br><img src=:/resources/hr.jpg>");
|
cursor.insertHtml("<br><img src=theme:hr.jpg>");
|
||||||
//cursor.insertHtml("<hr>");
|
//cursor.insertHtml("<hr>");
|
||||||
cursor.insertBlock(headerBlockFormat, headerCharFormat);
|
cursor.insertBlock(headerBlockFormat, headerCharFormat);
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "decklist.h"
|
#include "decklist.h"
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
DeckViewCardDragItem::DeckViewCardDragItem(DeckViewCard *_item, const QPointF &_hotSpot, AbstractCardDragItem *parentDrag)
|
DeckViewCardDragItem::DeckViewCardDragItem(DeckViewCard *_item, const QPointF &_hotSpot, AbstractCardDragItem *parentDrag)
|
||||||
|
@ -128,10 +129,6 @@ void DeckViewCard::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
||||||
DeckViewCardContainer::DeckViewCardContainer(const QString &_name)
|
DeckViewCardContainer::DeckViewCardContainer(const QString &_name)
|
||||||
: QGraphicsItem(), name(_name), width(0), height(0)
|
: QGraphicsItem(), name(_name), width(0), height(0)
|
||||||
{
|
{
|
||||||
QString bgPath = settingsCache->getTableBgPath();
|
|
||||||
if (!bgPath.isEmpty())
|
|
||||||
bgPixmap.load(bgPath);
|
|
||||||
|
|
||||||
setCacheMode(DeviceCoordinateCache);
|
setCacheMode(DeviceCoordinateCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,17 +141,7 @@ void DeckViewCardContainer::paint(QPainter *painter, const QStyleOptionGraphicsI
|
||||||
{
|
{
|
||||||
qreal totalTextWidth = getCardTypeTextWidth();
|
qreal totalTextWidth = getCardTypeTextWidth();
|
||||||
|
|
||||||
if (bgPixmap.isNull()) {
|
painter->fillRect(boundingRect(), themeManager->getTableBgBrush());
|
||||||
QLinearGradient grad1(0, 0, 1, 0);
|
|
||||||
grad1.setCoordinateMode(QGradient::ObjectBoundingMode);
|
|
||||||
grad1.setColorAt(0, QColor(30, 30, 30));
|
|
||||||
grad1.setColorAt(1, QColor(80, 80, 80));
|
|
||||||
painter->fillRect(QRectF(0, 0, width, height), QBrush(grad1));
|
|
||||||
|
|
||||||
painter->fillRect(boundingRect(), QColor(0, 0, 0, 80));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
painter->fillRect(boundingRect(), QBrush(bgPixmap));
|
|
||||||
painter->setPen(QColor(255, 255, 255, 100));
|
painter->setPen(QColor(255, 255, 255, 100));
|
||||||
painter->drawLine(QPointF(0, separatorY), QPointF(width, separatorY));
|
painter->drawLine(QPointF(0, separatorY), QPointF(width, separatorY));
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,6 @@ private:
|
||||||
QMultiMap<QString, DeckViewCard *> cardsByType;
|
QMultiMap<QString, DeckViewCard *> cardsByType;
|
||||||
QList<QPair<int, int> > currentRowsAndCols;
|
QList<QPair<int, int> > currentRowsAndCols;
|
||||||
qreal width, height;
|
qreal width, height;
|
||||||
QPixmap bgPixmap;
|
|
||||||
int getCardTypeTextWidth() const;
|
int getCardTypeTextWidth() const;
|
||||||
public:
|
public:
|
||||||
enum { Type = typeDeckViewCardContainer };
|
enum { Type = typeDeckViewCardContainer };
|
||||||
|
|
|
@ -83,10 +83,10 @@ DlgEditTokens::DlgEditTokens(CardDatabaseModel *_cardDatabaseModel, QWidget *par
|
||||||
connect(chooseTokenView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(tokenSelectionChanged(QModelIndex, QModelIndex)));
|
connect(chooseTokenView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(tokenSelectionChanged(QModelIndex, QModelIndex)));
|
||||||
|
|
||||||
QAction *aAddToken = new QAction(tr("Add token"), this);
|
QAction *aAddToken = new QAction(tr("Add token"), this);
|
||||||
aAddToken->setIcon(QIcon(":/resources/increment.svg"));
|
aAddToken->setIcon(QIcon("theme:icons/increment.svg"));
|
||||||
connect(aAddToken, SIGNAL(triggered()), this, SLOT(actAddToken()));
|
connect(aAddToken, SIGNAL(triggered()), this, SLOT(actAddToken()));
|
||||||
QAction *aRemoveToken = new QAction(tr("Remove token"), this);
|
QAction *aRemoveToken = new QAction(tr("Remove token"), this);
|
||||||
aRemoveToken->setIcon(QIcon(":/resources/decrement.svg"));
|
aRemoveToken->setIcon(QIcon("theme:icons/decrement.svg"));
|
||||||
connect(aRemoveToken, SIGNAL(triggered()), this, SLOT(actRemoveToken()));
|
connect(aRemoveToken, SIGNAL(triggered()), this, SLOT(actRemoveToken()));
|
||||||
|
|
||||||
QToolBar *databaseToolBar = new QToolBar;
|
QToolBar *databaseToolBar = new QToolBar;
|
||||||
|
|
|
@ -19,9 +19,9 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou
|
||||||
genderLabel = new QLabel(tr("Pronouns:"));
|
genderLabel = new QLabel(tr("Pronouns:"));
|
||||||
genderEdit = new QComboBox();
|
genderEdit = new QComboBox();
|
||||||
genderLabel->setBuddy(genderEdit);
|
genderLabel->setBuddy(genderEdit);
|
||||||
genderEdit->insertItem(0, QIcon(":/resources/genders/unknown.svg"), tr("Neutral"));
|
genderEdit->insertItem(0, QIcon("theme:genders/unknown.svg"), tr("Neutral"));
|
||||||
genderEdit->insertItem(1, QIcon(":/resources/genders/male.svg"), tr("Masculine"));
|
genderEdit->insertItem(1, QIcon("theme:genders/male.svg"), tr("Masculine"));
|
||||||
genderEdit->insertItem(2, QIcon(":/resources/genders/female.svg"), tr("Feminine"));
|
genderEdit->insertItem(2, QIcon("theme:genders/female.svg"), tr("Feminine"));
|
||||||
genderEdit->setCurrentIndex(gender + 1);
|
genderEdit->setCurrentIndex(gender + 1);
|
||||||
|
|
||||||
countryLabel = new QLabel(tr("Country:"));
|
countryLabel = new QLabel(tr("Country:"));
|
||||||
|
@ -34,7 +34,7 @@ DlgEditUser::DlgEditUser(QWidget *parent, QString email, int gender, QString cou
|
||||||
int i = 1;
|
int i = 1;
|
||||||
foreach(QString c, countries)
|
foreach(QString c, countries)
|
||||||
{
|
{
|
||||||
countryEdit->addItem(QPixmap(":/resources/countries/" + c + ".svg"), c);
|
countryEdit->addItem(QPixmap("theme:countries/" + c.toLower() + ".svg"), c);
|
||||||
if (c == country)
|
if (c == country)
|
||||||
countryEdit->setCurrentIndex(i);
|
countryEdit->setCurrentIndex(i);
|
||||||
|
|
||||||
|
|
|
@ -50,19 +50,268 @@ DlgRegister::DlgRegister(QWidget *parent)
|
||||||
genderLabel = new QLabel(tr("Pronouns:"));
|
genderLabel = new QLabel(tr("Pronouns:"));
|
||||||
genderEdit = new QComboBox();
|
genderEdit = new QComboBox();
|
||||||
genderLabel->setBuddy(genderEdit);
|
genderLabel->setBuddy(genderEdit);
|
||||||
genderEdit->insertItem(0, QIcon(":/resources/genders/unknown.svg"), tr("Neutral"));
|
genderEdit->insertItem(0, QIcon("theme:genders/unknown.svg"), tr("Neutral"));
|
||||||
genderEdit->insertItem(1, QIcon(":/resources/genders/male.svg"), tr("Masculine"));
|
genderEdit->insertItem(1, QIcon("theme:genders/male.svg"), tr("Masculine"));
|
||||||
genderEdit->insertItem(2, QIcon(":/resources/genders/female.svg"), tr("Feminine"));
|
genderEdit->insertItem(2, QIcon("theme:genders/female.svg"), tr("Feminine"));
|
||||||
genderEdit->setCurrentIndex(0);
|
genderEdit->setCurrentIndex(0);
|
||||||
|
|
||||||
countryLabel = new QLabel(tr("Country:"));
|
countryLabel = new QLabel(tr("Country:"));
|
||||||
countryEdit = new QComboBox();
|
countryEdit = new QComboBox();
|
||||||
countryLabel->setBuddy(countryEdit);
|
countryLabel->setBuddy(countryEdit);
|
||||||
countryEdit->insertItem(0, tr("Undefined"));
|
countryEdit->insertItem(0, tr("Undefined"));
|
||||||
|
countryEdit->addItem(QPixmap("theme:countries/ad.svg"), "ad");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ae.svg"), "ae");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/af.svg"), "af");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ag.svg"), "ag");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ai.svg"), "ai");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/al.svg"), "al");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/am.svg"), "am");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ao.svg"), "ao");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/aq.svg"), "aq");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ar.svg"), "ar");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/as.svg"), "as");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/at.svg"), "at");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/au.svg"), "au");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/aw.svg"), "aw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ax.svg"), "ax");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/az.svg"), "az");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ba.svg"), "ba");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bb.svg"), "bb");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bd.svg"), "bd");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/be.svg"), "be");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bf.svg"), "bf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bg.svg"), "bg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bh.svg"), "bh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bi.svg"), "bi");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bj.svg"), "bj");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bl.svg"), "bl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bm.svg"), "bm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bn.svg"), "bn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bo.svg"), "bo");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bq.svg"), "bq");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/br.svg"), "br");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bs.svg"), "bs");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bt.svg"), "bt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bv.svg"), "bv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bw.svg"), "bw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/by.svg"), "by");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/bz.svg"), "bz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ca.svg"), "ca");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cc.svg"), "cc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cd.svg"), "cd");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cf.svg"), "cf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cg.svg"), "cg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ch.svg"), "ch");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ci.svg"), "ci");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ck.svg"), "ck");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cl.svg"), "cl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cm.svg"), "cm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cn.svg"), "cn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/co.svg"), "co");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cr.svg"), "cr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cu.svg"), "cu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cv.svg"), "cv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cw.svg"), "cw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cx.svg"), "cx");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cy.svg"), "cy");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/cz.svg"), "cz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/de.svg"), "de");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/dj.svg"), "dj");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/dk.svg"), "dk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/dm.svg"), "dm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/do.svg"), "do");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/dz.svg"), "dz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ec.svg"), "ec");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ee.svg"), "ee");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/eg.svg"), "eg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/eh.svg"), "eh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/er.svg"), "er");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/es.svg"), "es");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/et.svg"), "et");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fi.svg"), "fi");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fj.svg"), "fj");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fk.svg"), "fk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fm.svg"), "fm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fo.svg"), "fo");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/fr.svg"), "fr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ga.svg"), "ga");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gb.svg"), "gb");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gd.svg"), "gd");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ge.svg"), "ge");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gf.svg"), "gf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gg.svg"), "gg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gh.svg"), "gh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gi.svg"), "gi");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gl.svg"), "gl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gm.svg"), "gm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gn.svg"), "gn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gp.svg"), "gp");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gq.svg"), "gq");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gr.svg"), "gr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gs.svg"), "gs");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gt.svg"), "gt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gu.svg"), "gu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gw.svg"), "gw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/gy.svg"), "gy");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/hk.svg"), "hk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/hm.svg"), "hm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/hn.svg"), "hn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/hr.svg"), "hr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ht.svg"), "ht");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/hu.svg"), "hu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/id.svg"), "id");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ie.svg"), "ie");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/il.svg"), "il");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/im.svg"), "im");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/in.svg"), "in");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/io.svg"), "io");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/iq.svg"), "iq");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ir.svg"), "ir");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/is.svg"), "is");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/it.svg"), "it");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/je.svg"), "je");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/jm.svg"), "jm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/jo.svg"), "jo");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/jp.svg"), "jp");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ke.svg"), "ke");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kg.svg"), "kg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kh.svg"), "kh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ki.svg"), "ki");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/km.svg"), "km");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kn.svg"), "kn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kp.svg"), "kp");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kr.svg"), "kr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kw.svg"), "kw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ky.svg"), "ky");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/kz.svg"), "kz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/la.svg"), "la");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lb.svg"), "lb");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lc.svg"), "lc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/li.svg"), "li");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lk.svg"), "lk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lr.svg"), "lr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ls.svg"), "ls");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lt.svg"), "lt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lu.svg"), "lu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/lv.svg"), "lv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ly.svg"), "ly");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ma.svg"), "ma");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mc.svg"), "mc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/md.svg"), "md");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/me.svg"), "me");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mf.svg"), "mf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mg.svg"), "mg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mh.svg"), "mh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mk.svg"), "mk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ml.svg"), "ml");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mm.svg"), "mm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mn.svg"), "mn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mo.svg"), "mo");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mp.svg"), "mp");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mq.svg"), "mq");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mr.svg"), "mr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ms.svg"), "ms");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mt.svg"), "mt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mu.svg"), "mu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mv.svg"), "mv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mw.svg"), "mw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mx.svg"), "mx");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/my.svg"), "my");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/mz.svg"), "mz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/na.svg"), "na");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nc.svg"), "nc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ne.svg"), "ne");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nf.svg"), "nf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ng.svg"), "ng");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ni.svg"), "ni");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nl.svg"), "nl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/no.svg"), "no");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/np.svg"), "np");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nr.svg"), "nr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nu.svg"), "nu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/nz.svg"), "nz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/om.svg"), "om");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pa.svg"), "pa");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pe.svg"), "pe");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pf.svg"), "pf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pg.svg"), "pg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ph.svg"), "ph");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pk.svg"), "pk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pl.svg"), "pl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pm.svg"), "pm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pn.svg"), "pn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pr.svg"), "pr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ps.svg"), "ps");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pt.svg"), "pt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/pw.svg"), "pw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/py.svg"), "py");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/qa.svg"), "qa");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/re.svg"), "re");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ro.svg"), "ro");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/rs.svg"), "rs");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ru.svg"), "ru");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/rw.svg"), "rw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sa.svg"), "sa");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sb.svg"), "sb");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sc.svg"), "sc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sd.svg"), "sd");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/se.svg"), "se");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sg.svg"), "sg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sh.svg"), "sh");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/si.svg"), "si");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sj.svg"), "sj");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sk.svg"), "sk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sl.svg"), "sl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sm.svg"), "sm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sn.svg"), "sn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/so.svg"), "so");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sr.svg"), "sr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ss.svg"), "ss");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/st.svg"), "st");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sv.svg"), "sv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sx.svg"), "sx");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sy.svg"), "sy");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/sz.svg"), "sz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tc.svg"), "tc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/td.svg"), "td");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tf.svg"), "tf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tg.svg"), "tg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/th.svg"), "th");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tj.svg"), "tj");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tk.svg"), "tk");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tl.svg"), "tl");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tm.svg"), "tm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tn.svg"), "tn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/to.svg"), "to");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tr.svg"), "tr");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tt.svg"), "tt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tv.svg"), "tv");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tw.svg"), "tw");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/tz.svg"), "tz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ua.svg"), "ua");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ug.svg"), "ug");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/um.svg"), "um");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/us.svg"), "us");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/uy.svg"), "uy");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/uz.svg"), "uz");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/va.svg"), "va");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/vc.svg"), "vc");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ve.svg"), "ve");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/vg.svg"), "vg");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/vi.svg"), "vi");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/vn.svg"), "vn");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/vu.svg"), "vu");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/wf.svg"), "wf");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ws.svg"), "ws");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/ye.svg"), "ye");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/yt.svg"), "yt");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/za.svg"), "za");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/zm.svg"), "zm");
|
||||||
|
countryEdit->addItem(QIcon("theme:countries/zw.svg"), "zw");
|
||||||
countryEdit->setCurrentIndex(0);
|
countryEdit->setCurrentIndex(0);
|
||||||
QStringList countries = settingsCache->getCountries();
|
QStringList countries = settingsCache->getCountries();
|
||||||
foreach(QString c, countries)
|
foreach(QString c, countries)
|
||||||
countryEdit->addItem(QPixmap(":/resources/countries/" + c + ".svg"), c);
|
countryEdit->addItem(QPixmap("theme:countries/" + c.toLower() + ".svg"), c);
|
||||||
|
|
||||||
realnameLabel = new QLabel(tr("Real name:"));
|
realnameLabel = new QLabel(tr("Real name:"));
|
||||||
realnameEdit = new QLineEdit();
|
realnameEdit = new QLineEdit();
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include "dlg_settings.h"
|
#include "dlg_settings.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "priceupdater.h"
|
#include "priceupdater.h"
|
||||||
#include "soundengine.h"
|
#include "soundengine.h"
|
||||||
#include "sequenceEdit/shortcutstab.h"
|
#include "sequenceEdit/shortcutstab.h"
|
||||||
|
@ -255,67 +256,23 @@ void GeneralSettingsPage::setEnabledStatus(bool status)
|
||||||
|
|
||||||
AppearanceSettingsPage::AppearanceSettingsPage()
|
AppearanceSettingsPage::AppearanceSettingsPage()
|
||||||
{
|
{
|
||||||
QIcon deleteIcon(":/resources/icon_delete.svg");
|
QString themeName = settingsCache->getThemeName();
|
||||||
|
|
||||||
handBgEdit = new QLineEdit(settingsCache->getHandBgPath());
|
|
||||||
handBgEdit->setReadOnly(true);
|
|
||||||
QPushButton *handBgClearButton = new QPushButton(deleteIcon, QString());
|
|
||||||
connect(handBgClearButton, SIGNAL(clicked()), this, SLOT(handBgClearButtonClicked()));
|
|
||||||
QPushButton *handBgButton = new QPushButton("...");
|
|
||||||
connect(handBgButton, SIGNAL(clicked()), this, SLOT(handBgButtonClicked()));
|
|
||||||
|
|
||||||
stackBgEdit = new QLineEdit(settingsCache->getStackBgPath());
|
|
||||||
stackBgEdit->setReadOnly(true);
|
|
||||||
QPushButton *stackBgClearButton = new QPushButton(deleteIcon, QString());
|
|
||||||
connect(stackBgClearButton, SIGNAL(clicked()), this, SLOT(stackBgClearButtonClicked()));
|
|
||||||
QPushButton *stackBgButton = new QPushButton("...");
|
|
||||||
connect(stackBgButton, SIGNAL(clicked()), this, SLOT(stackBgButtonClicked()));
|
|
||||||
|
|
||||||
tableBgEdit = new QLineEdit(settingsCache->getTableBgPath());
|
QStringList themeDirs = themeManager->getAvailableThemes().keys();
|
||||||
tableBgEdit->setReadOnly(true);
|
for (int i = 0; i < themeDirs.size(); i++) {
|
||||||
QPushButton *tableBgClearButton = new QPushButton(deleteIcon, QString());
|
themeBox.addItem(themeDirs[i]);
|
||||||
connect(tableBgClearButton, SIGNAL(clicked()), this, SLOT(tableBgClearButtonClicked()));
|
if (themeDirs[i] == themeName)
|
||||||
QPushButton *tableBgButton = new QPushButton("...");
|
themeBox.setCurrentIndex(i);
|
||||||
connect(tableBgButton, SIGNAL(clicked()), this, SLOT(tableBgButtonClicked()));
|
}
|
||||||
|
|
||||||
playerAreaBgEdit = new QLineEdit(settingsCache->getPlayerBgPath());
|
|
||||||
playerAreaBgEdit->setReadOnly(true);
|
|
||||||
QPushButton *playerAreaBgClearButton = new QPushButton(deleteIcon, QString());
|
|
||||||
connect(playerAreaBgClearButton, SIGNAL(clicked()), this, SLOT(playerAreaBgClearButtonClicked()));
|
|
||||||
QPushButton *playerAreaBgButton = new QPushButton("...");
|
|
||||||
connect(playerAreaBgButton, SIGNAL(clicked()), this, SLOT(playerAreaBgButtonClicked()));
|
|
||||||
|
|
||||||
cardBackPicturePathEdit = new QLineEdit(settingsCache->getCardBackPicturePath());
|
|
||||||
cardBackPicturePathEdit->setReadOnly(true);
|
|
||||||
QPushButton *cardBackPicturePathClearButton = new QPushButton(deleteIcon, QString());
|
|
||||||
connect(cardBackPicturePathClearButton, SIGNAL(clicked()), this, SLOT(cardBackPicturePathClearButtonClicked()));
|
|
||||||
QPushButton *cardBackPicturePathButton = new QPushButton("...");
|
|
||||||
connect(cardBackPicturePathButton, SIGNAL(clicked()), this, SLOT(cardBackPicturePathButtonClicked()));
|
|
||||||
|
|
||||||
QGridLayout *zoneBgGrid = new QGridLayout;
|
|
||||||
zoneBgGrid->addWidget(&handBgLabel, 0, 0);
|
|
||||||
zoneBgGrid->addWidget(handBgEdit, 0, 1);
|
|
||||||
zoneBgGrid->addWidget(handBgClearButton, 0, 2);
|
|
||||||
zoneBgGrid->addWidget(handBgButton, 0, 3);
|
|
||||||
zoneBgGrid->addWidget(&stackBgLabel, 1, 0);
|
|
||||||
zoneBgGrid->addWidget(stackBgEdit, 1, 1);
|
|
||||||
zoneBgGrid->addWidget(stackBgClearButton, 1, 2);
|
|
||||||
zoneBgGrid->addWidget(stackBgButton, 1, 3);
|
|
||||||
zoneBgGrid->addWidget(&tableBgLabel, 2, 0);
|
|
||||||
zoneBgGrid->addWidget(tableBgEdit, 2, 1);
|
|
||||||
zoneBgGrid->addWidget(tableBgClearButton, 2, 2);
|
|
||||||
zoneBgGrid->addWidget(tableBgButton, 2, 3);
|
|
||||||
zoneBgGrid->addWidget(&playerAreaBgLabel, 3, 0);
|
|
||||||
zoneBgGrid->addWidget(playerAreaBgEdit, 3, 1);
|
|
||||||
zoneBgGrid->addWidget(playerAreaBgClearButton, 3, 2);
|
|
||||||
zoneBgGrid->addWidget(playerAreaBgButton, 3, 3);
|
|
||||||
zoneBgGrid->addWidget(&cardBackPicturePathLabel, 4, 0);
|
|
||||||
zoneBgGrid->addWidget(cardBackPicturePathEdit, 4, 1);
|
|
||||||
zoneBgGrid->addWidget(cardBackPicturePathClearButton, 4, 2);
|
|
||||||
zoneBgGrid->addWidget(cardBackPicturePathButton, 4, 3);
|
|
||||||
|
|
||||||
zoneBgGroupBox = new QGroupBox;
|
connect(&themeBox, SIGNAL(currentIndexChanged(int)), this, SLOT(themeBoxChanged(int)));
|
||||||
zoneBgGroupBox->setLayout(zoneBgGrid);
|
|
||||||
|
QGridLayout *themeGrid = new QGridLayout;
|
||||||
|
themeGrid->addWidget(&themeLabel, 0, 0);
|
||||||
|
themeGrid->addWidget(&themeBox, 0, 1);
|
||||||
|
|
||||||
|
themeGroupBox = new QGroupBox;
|
||||||
|
themeGroupBox->setLayout(themeGrid);
|
||||||
|
|
||||||
displayCardNamesCheckBox.setChecked(settingsCache->getDisplayCardNames());
|
displayCardNamesCheckBox.setChecked(settingsCache->getDisplayCardNames());
|
||||||
connect(&displayCardNamesCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setDisplayCardNames(int)));
|
connect(&displayCardNamesCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setDisplayCardNames(int)));
|
||||||
|
@ -360,7 +317,7 @@ AppearanceSettingsPage::AppearanceSettingsPage()
|
||||||
tableGroupBox->setLayout(tableGrid);
|
tableGroupBox->setLayout(tableGrid);
|
||||||
|
|
||||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||||
mainLayout->addWidget(zoneBgGroupBox);
|
mainLayout->addWidget(themeGroupBox);
|
||||||
mainLayout->addWidget(cardsGroupBox);
|
mainLayout->addWidget(cardsGroupBox);
|
||||||
mainLayout->addWidget(handGroupBox);
|
mainLayout->addWidget(handGroupBox);
|
||||||
mainLayout->addWidget(tableGroupBox);
|
mainLayout->addWidget(tableGroupBox);
|
||||||
|
@ -368,14 +325,17 @@ AppearanceSettingsPage::AppearanceSettingsPage()
|
||||||
setLayout(mainLayout);
|
setLayout(mainLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AppearanceSettingsPage::themeBoxChanged(int index)
|
||||||
|
{
|
||||||
|
QStringList themeDirs = themeManager->getAvailableThemes().keys();
|
||||||
|
if(index >= 0 && index < themeDirs.count())
|
||||||
|
settingsCache->setThemeName(themeDirs.at(index));
|
||||||
|
}
|
||||||
|
|
||||||
void AppearanceSettingsPage::retranslateUi()
|
void AppearanceSettingsPage::retranslateUi()
|
||||||
{
|
{
|
||||||
zoneBgGroupBox->setTitle(tr("Zone background pictures"));
|
themeGroupBox->setTitle(tr("Theme settings"));
|
||||||
handBgLabel.setText(tr("Hand background:"));
|
themeLabel.setText(tr("Current theme:"));
|
||||||
stackBgLabel.setText(tr("Stack background:"));
|
|
||||||
tableBgLabel.setText(tr("Table background:"));
|
|
||||||
playerAreaBgLabel.setText(tr("Player info background:"));
|
|
||||||
cardBackPicturePathLabel.setText(tr("Card back:"));
|
|
||||||
|
|
||||||
cardsGroupBox->setTitle(tr("Card rendering"));
|
cardsGroupBox->setTitle(tr("Card rendering"));
|
||||||
displayCardNamesCheckBox.setText(tr("Display card names on cards having a picture"));
|
displayCardNamesCheckBox.setText(tr("Display card names on cards having a picture"));
|
||||||
|
@ -390,86 +350,6 @@ void AppearanceSettingsPage::retranslateUi()
|
||||||
minPlayersForMultiColumnLayoutLabel.setText(tr("Minimum player count for multi-column layout:"));
|
minPlayersForMultiColumnLayoutLabel.setText(tr("Minimum player count for multi-column layout:"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppearanceSettingsPage::handBgClearButtonClicked()
|
|
||||||
{
|
|
||||||
handBgEdit->setText(QString());
|
|
||||||
settingsCache->setHandBgPath(QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::handBgButtonClicked()
|
|
||||||
{
|
|
||||||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
handBgEdit->setText(path);
|
|
||||||
settingsCache->setHandBgPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::stackBgClearButtonClicked()
|
|
||||||
{
|
|
||||||
stackBgEdit->setText(QString());
|
|
||||||
settingsCache->setStackBgPath(QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::stackBgButtonClicked()
|
|
||||||
{
|
|
||||||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
stackBgEdit->setText(path);
|
|
||||||
settingsCache->setStackBgPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::tableBgClearButtonClicked()
|
|
||||||
{
|
|
||||||
tableBgEdit->setText(QString());
|
|
||||||
settingsCache->setTableBgPath(QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::tableBgButtonClicked()
|
|
||||||
{
|
|
||||||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
tableBgEdit->setText(path);
|
|
||||||
settingsCache->setTableBgPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::playerAreaBgClearButtonClicked()
|
|
||||||
{
|
|
||||||
playerAreaBgEdit->setText(QString());
|
|
||||||
settingsCache->setPlayerBgPath(QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::playerAreaBgButtonClicked()
|
|
||||||
{
|
|
||||||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
playerAreaBgEdit->setText(path);
|
|
||||||
settingsCache->setPlayerBgPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::cardBackPicturePathClearButtonClicked()
|
|
||||||
{
|
|
||||||
cardBackPicturePathEdit->setText(QString());
|
|
||||||
settingsCache->setCardBackPicturePath(QString());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppearanceSettingsPage::cardBackPicturePathButtonClicked()
|
|
||||||
{
|
|
||||||
QString path = QFileDialog::getOpenFileName(this, tr("Choose path"));
|
|
||||||
if (path.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
cardBackPicturePathEdit->setText(path);
|
|
||||||
settingsCache->setCardBackPicturePath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
UserInterfaceSettingsPage::UserInterfaceSettingsPage()
|
||||||
{
|
{
|
||||||
notificationsEnabledCheckBox.setChecked(settingsCache->getNotificationsEnabled());
|
notificationsEnabledCheckBox.setChecked(settingsCache->getNotificationsEnabled());
|
||||||
|
@ -640,10 +520,10 @@ MessagesSettingsPage::MessagesSettingsPage()
|
||||||
messageList->addItem(settings.value(QString("msg%1").arg(i)).toString());
|
messageList->addItem(settings.value(QString("msg%1").arg(i)).toString());
|
||||||
|
|
||||||
aAdd = new QAction(this);
|
aAdd = new QAction(this);
|
||||||
aAdd->setIcon(QIcon(":/resources/increment.svg"));
|
aAdd->setIcon(QIcon("theme:icons/increment.svg"));
|
||||||
connect(aAdd, SIGNAL(triggered()), this, SLOT(actAdd()));
|
connect(aAdd, SIGNAL(triggered()), this, SLOT(actAdd()));
|
||||||
aRemove = new QAction(this);
|
aRemove = new QAction(this);
|
||||||
aRemove->setIcon(QIcon(":/resources/decrement.svg"));
|
aRemove->setIcon(QIcon("theme:icons/decrement.svg"));
|
||||||
connect(aRemove, SIGNAL(triggered()), this, SLOT(actRemove()));
|
connect(aRemove, SIGNAL(triggered()), this, SLOT(actRemove()));
|
||||||
|
|
||||||
QToolBar *messageToolBar = new QToolBar;
|
QToolBar *messageToolBar = new QToolBar;
|
||||||
|
@ -755,7 +635,7 @@ void MessagesSettingsPage::retranslateUi()
|
||||||
|
|
||||||
SoundSettingsPage::SoundSettingsPage()
|
SoundSettingsPage::SoundSettingsPage()
|
||||||
{
|
{
|
||||||
QIcon deleteIcon(":/resources/icon_delete.svg");
|
QIcon deleteIcon("theme:icons/delete.svg");
|
||||||
|
|
||||||
soundEnabledCheckBox.setChecked(settingsCache->getSoundEnabled());
|
soundEnabledCheckBox.setChecked(settingsCache->getSoundEnabled());
|
||||||
connect(&soundEnabledCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setSoundEnabled(int)));
|
connect(&soundEnabledCheckBox, SIGNAL(stateChanged(int)), settingsCache, SLOT(setSoundEnabled(int)));
|
||||||
|
@ -892,37 +772,37 @@ void DlgSettings::createIcons()
|
||||||
generalButton = new QListWidgetItem(contentsWidget);
|
generalButton = new QListWidgetItem(contentsWidget);
|
||||||
generalButton->setTextAlignment(Qt::AlignHCenter);
|
generalButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
generalButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
generalButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
generalButton->setIcon(QIcon(":/resources/icon_config_general.svg"));
|
generalButton->setIcon(QIcon("theme:config/general.svg"));
|
||||||
|
|
||||||
appearanceButton = new QListWidgetItem(contentsWidget);
|
appearanceButton = new QListWidgetItem(contentsWidget);
|
||||||
appearanceButton->setTextAlignment(Qt::AlignHCenter);
|
appearanceButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
appearanceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
appearanceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
appearanceButton->setIcon(QIcon(":/resources/icon_config_appearance.svg"));
|
appearanceButton->setIcon(QIcon("theme:config/appearance.svg"));
|
||||||
|
|
||||||
userInterfaceButton = new QListWidgetItem(contentsWidget);
|
userInterfaceButton = new QListWidgetItem(contentsWidget);
|
||||||
userInterfaceButton->setTextAlignment(Qt::AlignHCenter);
|
userInterfaceButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
userInterfaceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
userInterfaceButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
userInterfaceButton->setIcon(QIcon(":/resources/icon_config_interface.svg"));
|
userInterfaceButton->setIcon(QIcon("theme:config/interface.svg"));
|
||||||
|
|
||||||
deckEditorButton = new QListWidgetItem(contentsWidget);
|
deckEditorButton = new QListWidgetItem(contentsWidget);
|
||||||
deckEditorButton->setTextAlignment(Qt::AlignHCenter);
|
deckEditorButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
deckEditorButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
deckEditorButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
deckEditorButton->setIcon(QIcon(":/resources/icon_config_deckeditor.svg"));
|
deckEditorButton->setIcon(QIcon("theme:config/deckeditor.svg"));
|
||||||
|
|
||||||
messagesButton = new QListWidgetItem(contentsWidget);
|
messagesButton = new QListWidgetItem(contentsWidget);
|
||||||
messagesButton->setTextAlignment(Qt::AlignHCenter);
|
messagesButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
messagesButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
messagesButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
messagesButton->setIcon(QIcon(":/resources/icon_config_messages.svg"));
|
messagesButton->setIcon(QIcon("theme:config/messages.svg"));
|
||||||
|
|
||||||
soundButton = new QListWidgetItem(contentsWidget);
|
soundButton = new QListWidgetItem(contentsWidget);
|
||||||
soundButton->setTextAlignment(Qt::AlignHCenter);
|
soundButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
soundButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
soundButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
soundButton->setIcon(QIcon(":/resources/icon_config_sound.svg"));
|
soundButton->setIcon(QIcon("theme:config/sound.svg"));
|
||||||
|
|
||||||
shortcutsButton = new QListWidgetItem(contentsWidget);
|
shortcutsButton = new QListWidgetItem(contentsWidget);
|
||||||
shortcutsButton->setTextAlignment(Qt::AlignHCenter);
|
shortcutsButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
shortcutsButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
shortcutsButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
shortcutsButton->setIcon(QIcon(":/resources/icon_config_shorcuts.svg"));
|
shortcutsButton->setIcon(QIcon("theme:config/shorcuts.svg"));
|
||||||
|
|
||||||
connect(contentsWidget, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem *)));
|
connect(contentsWidget, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem *)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,40 +75,17 @@ private:
|
||||||
class AppearanceSettingsPage : public AbstractSettingsPage {
|
class AppearanceSettingsPage : public AbstractSettingsPage {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private slots:
|
private slots:
|
||||||
void handBgClearButtonClicked();
|
void themeBoxChanged(int index);
|
||||||
void handBgButtonClicked();
|
|
||||||
void stackBgClearButtonClicked();
|
|
||||||
void stackBgButtonClicked();
|
|
||||||
void tableBgClearButtonClicked();
|
|
||||||
void tableBgButtonClicked();
|
|
||||||
void playerAreaBgClearButtonClicked();
|
|
||||||
void playerAreaBgButtonClicked();
|
|
||||||
void cardBackPicturePathClearButtonClicked();
|
|
||||||
void cardBackPicturePathButtonClicked();
|
|
||||||
signals:
|
|
||||||
void handBgChanged(const QString &path);
|
|
||||||
void stackBgChanged(const QString &path);
|
|
||||||
void tableBgChanged(const QString &path);
|
|
||||||
void playerAreaBgChanged(const QString &path);
|
|
||||||
void cardBackPicturePathChanged(const QString &path);
|
|
||||||
private:
|
private:
|
||||||
QLabel handBgLabel;
|
QLabel themeLabel;
|
||||||
QLabel stackBgLabel;
|
QComboBox themeBox;
|
||||||
QLabel tableBgLabel;
|
|
||||||
QLabel playerAreaBgLabel;
|
|
||||||
QLabel cardBackPicturePathLabel;
|
|
||||||
QLabel minPlayersForMultiColumnLayoutLabel;
|
QLabel minPlayersForMultiColumnLayoutLabel;
|
||||||
QLineEdit *handBgEdit;
|
|
||||||
QLineEdit *stackBgEdit;
|
|
||||||
QLineEdit *tableBgEdit;
|
|
||||||
QLineEdit *playerAreaBgEdit;
|
|
||||||
QLineEdit *cardBackPicturePathEdit;
|
|
||||||
QCheckBox displayCardNamesCheckBox;
|
QCheckBox displayCardNamesCheckBox;
|
||||||
QCheckBox cardScalingCheckBox;
|
QCheckBox cardScalingCheckBox;
|
||||||
QCheckBox horizontalHandCheckBox;
|
QCheckBox horizontalHandCheckBox;
|
||||||
QCheckBox leftJustifiedHandCheckBox;
|
QCheckBox leftJustifiedHandCheckBox;
|
||||||
QCheckBox invertVerticalCoordinateCheckBox;
|
QCheckBox invertVerticalCoordinateCheckBox;
|
||||||
QGroupBox *zoneBgGroupBox;
|
QGroupBox *themeGroupBox;
|
||||||
QGroupBox *cardsGroupBox;
|
QGroupBox *cardsGroupBox;
|
||||||
QGroupBox *handGroupBox;
|
QGroupBox *handGroupBox;
|
||||||
QGroupBox *tableGroupBox;
|
QGroupBox *tableGroupBox;
|
||||||
|
|
|
@ -26,7 +26,7 @@ FilterBuilder::FilterBuilder(QWidget *parent)
|
||||||
QVariant(i)
|
QVariant(i)
|
||||||
);
|
);
|
||||||
|
|
||||||
QPushButton *ok = new QPushButton(QIcon(":/resources/increment.svg"), QString());
|
QPushButton *ok = new QPushButton(QIcon("theme:icons/increment.svg"), QString());
|
||||||
ok->setObjectName("ok");
|
ok->setObjectName("ok");
|
||||||
ok->setMaximumSize(20, 20);
|
ok->setMaximumSize(20, 20);
|
||||||
|
|
||||||
|
|
|
@ -60,10 +60,10 @@ GameSelector::GameSelector(AbstractClient *_client, const TabSupervisor *_tabSup
|
||||||
gameListView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
gameListView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||||
#endif
|
#endif
|
||||||
filterButton = new QPushButton;
|
filterButton = new QPushButton;
|
||||||
filterButton->setIcon(QIcon(":/resources/icon_search_black.svg"));
|
filterButton->setIcon(QIcon("theme:icons/search.svg"));
|
||||||
connect(filterButton, SIGNAL(clicked()), this, SLOT(actSetFilter()));
|
connect(filterButton, SIGNAL(clicked()), this, SLOT(actSetFilter()));
|
||||||
clearFilterButton = new QPushButton;
|
clearFilterButton = new QPushButton;
|
||||||
clearFilterButton->setIcon(QIcon(":/resources/icon_clearsearch.svg"));
|
clearFilterButton->setIcon(QIcon("theme:icons/clearsearch.svg"));
|
||||||
clearFilterButton->setEnabled(true);
|
clearFilterButton->setEnabled(true);
|
||||||
connect(clearFilterButton, SIGNAL(clicked()), this, SLOT(actClearFilter()));
|
connect(clearFilterButton, SIGNAL(clicked()), this, SLOT(actClearFilter()));
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ void HandCounter::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*op
|
||||||
#else
|
#else
|
||||||
if (!QPixmapCache::find("handCounter" + QString::number(translatedSize.width()), cachedPixmap)) {
|
if (!QPixmapCache::find("handCounter" + QString::number(translatedSize.width()), cachedPixmap)) {
|
||||||
#endif
|
#endif
|
||||||
QSvgRenderer svg(QString(":/resources/hand.svg"));
|
QSvgRenderer svg(QString("theme:hand.svg"));
|
||||||
cachedPixmap = QPixmap(translatedSize);
|
cachedPixmap = QPixmap(translatedSize);
|
||||||
cachedPixmap.fill(Qt::transparent);
|
cachedPixmap.fill(Qt::transparent);
|
||||||
QPainter painter(&cachedPixmap);
|
QPainter painter(&cachedPixmap);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "handzone.h"
|
#include "handzone.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "carddragitem.h"
|
#include "carddragitem.h"
|
||||||
#include "carditem.h"
|
#include "carditem.h"
|
||||||
|
@ -10,16 +11,13 @@
|
||||||
HandZone::HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent)
|
HandZone::HandZone(Player *_p, bool _contentsKnown, int _zoneHeight, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "hand", false, false, _contentsKnown, parent), zoneHeight(_zoneHeight)
|
: SelectZone(_p, "hand", false, false, _contentsKnown, parent), zoneHeight(_zoneHeight)
|
||||||
{
|
{
|
||||||
connect(settingsCache, SIGNAL(handBgPathChanged()), this, SLOT(updateBgPixmap()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
updateBgPixmap();
|
updateBg();
|
||||||
setCacheMode(DeviceCoordinateCache);
|
setCacheMode(DeviceCoordinateCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandZone::updateBgPixmap()
|
void HandZone::updateBg()
|
||||||
{
|
{
|
||||||
QString bgPath = settingsCache->getHandBgPath();
|
|
||||||
if (!bgPath.isEmpty())
|
|
||||||
bgPixmap.load(bgPath);
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,10 +75,7 @@ QRectF HandZone::boundingRect() const
|
||||||
|
|
||||||
void HandZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
void HandZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
if (bgPixmap.isNull())
|
painter->fillRect(boundingRect(), themeManager->getHandBgBrush());
|
||||||
painter->fillRect(boundingRect(), QColor(30, 30, 30));
|
|
||||||
else
|
|
||||||
painter->fillRect(boundingRect(), QBrush(bgPixmap));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandZone::reorganizeCards()
|
void HandZone::reorganizeCards()
|
||||||
|
|
|
@ -7,9 +7,8 @@ class HandZone : public SelectZone {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
qreal width, zoneHeight;
|
qreal width, zoneHeight;
|
||||||
QPixmap bgPixmap;
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateBgPixmap();
|
void updateBg();
|
||||||
public slots:
|
public slots:
|
||||||
void updateOrientation();
|
void updateOrientation();
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include "dlg_settings.h"
|
#include "dlg_settings.h"
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "pixmapgenerator.h"
|
#include "pixmapgenerator.h"
|
||||||
#include "rng_sfmt.h"
|
#include "rng_sfmt.h"
|
||||||
#include "soundengine.h"
|
#include "soundengine.h"
|
||||||
|
@ -52,7 +53,7 @@ SettingsCache *settingsCache;
|
||||||
RNG_Abstract *rng;
|
RNG_Abstract *rng;
|
||||||
SoundEngine *soundEngine;
|
SoundEngine *soundEngine;
|
||||||
QSystemTrayIcon *trayIcon;
|
QSystemTrayIcon *trayIcon;
|
||||||
|
ThemeManager *themeManager;
|
||||||
|
|
||||||
const QString translationPrefix = "cockatrice";
|
const QString translationPrefix = "cockatrice";
|
||||||
#ifdef TRANSLATION_PATH
|
#ifdef TRANSLATION_PATH
|
||||||
|
@ -147,6 +148,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
rng = new RNG_SFMT;
|
rng = new RNG_SFMT;
|
||||||
settingsCache = new SettingsCache;
|
settingsCache = new SettingsCache;
|
||||||
|
themeManager = new ThemeManager;
|
||||||
db = new CardDatabase;
|
db = new CardDatabase;
|
||||||
|
|
||||||
qtTranslator = new QTranslator;
|
qtTranslator = new QTranslator;
|
||||||
|
@ -210,13 +212,14 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if (settingsValid()) {
|
if (settingsValid()) {
|
||||||
qDebug("main(): starting main program");
|
qDebug("main(): starting main program");
|
||||||
|
|
||||||
soundEngine = new SoundEngine;
|
soundEngine = new SoundEngine;
|
||||||
qDebug("main(): SoundEngine constructor finished");
|
qDebug("main(): SoundEngine constructor finished");
|
||||||
|
|
||||||
MainWindow ui;
|
MainWindow ui;
|
||||||
qDebug("main(): MainWindow constructor finished");
|
qDebug("main(): MainWindow constructor finished");
|
||||||
|
|
||||||
QIcon icon(":/resources/appicon.svg");
|
QIcon icon("theme:cockatrice.svg");
|
||||||
ui.setWindowIcon(icon);
|
ui.setWindowIcon(icon);
|
||||||
|
|
||||||
settingsCache->setClientID(generateClientID());
|
settingsCache->setClientID(generateClientID());
|
||||||
|
|
|
@ -16,7 +16,7 @@ QPixmap PhasePixmapGenerator::generatePixmap(int height, QString name)
|
||||||
if (pmCache.contains(key))
|
if (pmCache.contains(key))
|
||||||
return pmCache.value(key);
|
return pmCache.value(key);
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/phases/icon_phase_" + name + ".svg"));
|
QSvgRenderer svg(QString("theme:phases/" + name + ".svg"));
|
||||||
|
|
||||||
QPixmap pixmap(height, height);
|
QPixmap pixmap(height, height);
|
||||||
pixmap.fill(Qt::transparent);
|
pixmap.fill(Qt::transparent);
|
||||||
|
@ -36,13 +36,13 @@ QPixmap CounterPixmapGenerator::generatePixmap(int height, QString name, bool hi
|
||||||
if (pmCache.contains(key))
|
if (pmCache.contains(key))
|
||||||
return pmCache.value(key);
|
return pmCache.value(key);
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/counters/" + name + ".svg"));
|
QSvgRenderer svg(QString("theme:counters/" + name + ".svg"));
|
||||||
|
|
||||||
if (!svg.isValid()) {
|
if (!svg.isValid()) {
|
||||||
name = "general";
|
name = "general";
|
||||||
if (highlight)
|
if (highlight)
|
||||||
name.append("_highlight");
|
name.append("_highlight");
|
||||||
svg.load(QString(":/resources/counters/" + name + ".svg"));
|
svg.load(QString("theme:counters/" + name + ".svg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||||
|
@ -98,7 +98,7 @@ QPixmap GenderPixmapGenerator::generatePixmap(int height, int _gender)
|
||||||
default: genderStr = "unknown";
|
default: genderStr = "unknown";
|
||||||
};
|
};
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/genders/" + genderStr + ".svg"));
|
QSvgRenderer svg(QString("theme:genders/" + genderStr + ".svg"));
|
||||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||||
QPixmap pixmap(width, height);
|
QPixmap pixmap(width, height);
|
||||||
pixmap.fill(Qt::transparent);
|
pixmap.fill(Qt::transparent);
|
||||||
|
@ -119,7 +119,7 @@ QPixmap CountryPixmapGenerator::generatePixmap(int height, const QString &countr
|
||||||
if (pmCache.contains(key))
|
if (pmCache.contains(key))
|
||||||
return pmCache.value(key);
|
return pmCache.value(key);
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/countries/" + countryCode.toLower() + ".svg"));
|
QSvgRenderer svg(QString("theme:countries/" + countryCode.toLower() + ".svg"));
|
||||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||||
QPixmap pixmap(width, height);
|
QPixmap pixmap(width, height);
|
||||||
pixmap.fill(Qt::transparent);
|
pixmap.fill(Qt::transparent);
|
||||||
|
@ -154,7 +154,7 @@ QPixmap UserLevelPixmapGenerator::generatePixmap(int height, UserLevelFlags user
|
||||||
if (isBuddy)
|
if (isBuddy)
|
||||||
levelString.append("_buddy");
|
levelString.append("_buddy");
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/userlevels/" + levelString + ".svg"));
|
QSvgRenderer svg(QString("theme:userlevels/" + levelString + ".svg"));
|
||||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||||
QPixmap pixmap(width, height);
|
QPixmap pixmap(width, height);
|
||||||
pixmap.fill(Qt::transparent);
|
pixmap.fill(Qt::transparent);
|
||||||
|
@ -175,7 +175,7 @@ QPixmap LockPixmapGenerator::generatePixmap(int height)
|
||||||
if (pmCache.contains(key))
|
if (pmCache.contains(key))
|
||||||
return pmCache.value(key);
|
return pmCache.value(key);
|
||||||
|
|
||||||
QSvgRenderer svg(QString(":/resources/lock.svg"));
|
QSvgRenderer svg(QString("theme:icons/lock.svg"));
|
||||||
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
int width = (int) round(height * (double) svg.defaultSize().width() / (double) svg.defaultSize().height());
|
||||||
QPixmap pixmap(width, height);
|
QPixmap pixmap(width, height);
|
||||||
pixmap.fill(Qt::transparent);
|
pixmap.fill(Qt::transparent);
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "tab_game.h"
|
#include "tab_game.h"
|
||||||
#include "gamescene.h"
|
#include "gamescene.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "dlg_create_token.h"
|
#include "dlg_create_token.h"
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
#include "color.h"
|
#include "color.h"
|
||||||
|
@ -69,25 +70,18 @@ PlayerArea::PlayerArea(QGraphicsItem *parentItem)
|
||||||
: QObject(), QGraphicsItem(parentItem)
|
: QObject(), QGraphicsItem(parentItem)
|
||||||
{
|
{
|
||||||
setCacheMode(DeviceCoordinateCache);
|
setCacheMode(DeviceCoordinateCache);
|
||||||
connect(settingsCache, SIGNAL(playerBgPathChanged()), this, SLOT(updateBgPixmap()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
updateBgPixmap();
|
updateBg();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerArea::updateBgPixmap()
|
void PlayerArea::updateBg()
|
||||||
{
|
{
|
||||||
QString bgPath = settingsCache->getPlayerBgPath();
|
|
||||||
if (bgPath.isEmpty())
|
|
||||||
bgPixmapBrush = QBrush(QColor(200, 200, 200));
|
|
||||||
else {
|
|
||||||
qDebug() << "loading" << bgPath;
|
|
||||||
bgPixmapBrush = QBrush(QPixmap(bgPath));
|
|
||||||
}
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerArea::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
void PlayerArea::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
painter->fillRect(bRect, bgPixmapBrush);
|
painter->fillRect(bRect, themeManager->getPlayerBgBrush());
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerArea::setSize(qreal width, qreal height)
|
void PlayerArea::setSize(qreal width, qreal height)
|
||||||
|
|
|
@ -60,10 +60,9 @@ class PlayerArea : public QObject, public QGraphicsItem {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_INTERFACES(QGraphicsItem)
|
Q_INTERFACES(QGraphicsItem)
|
||||||
private:
|
private:
|
||||||
QBrush bgPixmapBrush;
|
|
||||||
QRectF bRect;
|
QRectF bRect;
|
||||||
private slots:
|
private slots:
|
||||||
void updateBgPixmap();
|
void updateBg();
|
||||||
public:
|
public:
|
||||||
enum { Type = typeOther };
|
enum { Type = typeOther };
|
||||||
int type() const { return Type; }
|
int type() const { return Type; }
|
||||||
|
|
|
@ -50,12 +50,12 @@ bool PlayerListTWI::operator<(const QTreeWidgetItem &other) const
|
||||||
PlayerListWidget::PlayerListWidget(TabSupervisor *_tabSupervisor, AbstractClient *_client, TabGame *_game, QWidget *parent)
|
PlayerListWidget::PlayerListWidget(TabSupervisor *_tabSupervisor, AbstractClient *_client, TabGame *_game, QWidget *parent)
|
||||||
: QTreeWidget(parent), tabSupervisor(_tabSupervisor), client(_client), game(_game), gameStarted(false)
|
: QTreeWidget(parent), tabSupervisor(_tabSupervisor), client(_client), game(_game), gameStarted(false)
|
||||||
{
|
{
|
||||||
readyIcon = QIcon(":/resources/icon_ready_start.svg");
|
readyIcon = QIcon("theme:icons/ready_start.svg");
|
||||||
notReadyIcon = QIcon(":/resources/icon_not_ready_start.svg");
|
notReadyIcon = QIcon("theme:icons/not_ready_start.svg");
|
||||||
concededIcon = QIcon(":/resources/icon_conceded.svg");
|
concededIcon = QIcon("theme:icons/conceded.svg");
|
||||||
playerIcon = QIcon(":/resources/icon_player.svg");
|
playerIcon = QIcon("theme:icons/player.svg");
|
||||||
spectatorIcon = QIcon(":/resources/icon_spectator.svg");
|
spectatorIcon = QIcon("theme:icons/spectator.svg");
|
||||||
lockIcon = QIcon(":/resources/lock.svg");
|
lockIcon = QIcon("theme:icons/lock.svg");
|
||||||
|
|
||||||
if (tabSupervisor) {
|
if (tabSupervisor) {
|
||||||
itemDelegate = new PlayerListItemDelegate(this);
|
itemDelegate = new PlayerListItemDelegate(this);
|
||||||
|
|
|
@ -35,7 +35,7 @@ RemoteReplayList_TreeModel::RemoteReplayList_TreeModel(AbstractClient *_client,
|
||||||
QFileIconProvider fip;
|
QFileIconProvider fip;
|
||||||
dirIcon = fip.icon(QFileIconProvider::Folder);
|
dirIcon = fip.icon(QFileIconProvider::Folder);
|
||||||
fileIcon = fip.icon(QFileIconProvider::File);
|
fileIcon = fip.icon(QFileIconProvider::File);
|
||||||
lockIcon = QIcon(":/resources/lock.svg");
|
lockIcon = QIcon("theme:icons/lock.svg");
|
||||||
|
|
||||||
refreshTree();
|
refreshTree();
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,8 @@ SequenceEdit::SequenceEdit(QString _shorcutName, QWidget *parent) : QWidget(pare
|
||||||
clearButton->setMaximumHeight(lineEdit->height());
|
clearButton->setMaximumHeight(lineEdit->height());
|
||||||
defaultButton->setMaximumHeight(lineEdit->height());
|
defaultButton->setMaximumHeight(lineEdit->height());
|
||||||
|
|
||||||
clearButton->setIcon(QIcon(":/resources/icon_clearsearch.svg"));
|
clearButton->setIcon(QIcon("theme:icons/clearsearch.svg"));
|
||||||
defaultButton->setIcon(QIcon(":/resources/icon_update.png"));
|
defaultButton->setIcon(QIcon("theme:icons/update.png"));
|
||||||
|
|
||||||
clearButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
|
clearButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
|
||||||
defaultButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
|
defaultButton->setAttribute(Qt::WA_LayoutUsesWidgetRect);
|
||||||
|
|
|
@ -36,11 +36,7 @@ SettingsCache::SettingsCache()
|
||||||
cardDatabasePath = settings->value("paths/carddatabase").toString();
|
cardDatabasePath = settings->value("paths/carddatabase").toString();
|
||||||
tokenDatabasePath = settings->value("paths/tokendatabase").toString();
|
tokenDatabasePath = settings->value("paths/tokendatabase").toString();
|
||||||
|
|
||||||
handBgPath = settings->value("zonebg/hand").toString();
|
themeName = settings->value("theme/name").toString();
|
||||||
stackBgPath = settings->value("zonebg/stack").toString();
|
|
||||||
tableBgPath = settings->value("zonebg/table").toString();
|
|
||||||
playerBgPath = settings->value("zonebg/playerarea").toString();
|
|
||||||
cardBackPicturePath = settings->value("paths/cardbackpicture").toString();
|
|
||||||
|
|
||||||
// we only want to reset the cache once, then its up to the user
|
// we only want to reset the cache once, then its up to the user
|
||||||
bool updateCache = settings->value("revert/pixmapCacheSize", false).toBool();
|
bool updateCache = settings->value("revert/pixmapCacheSize", false).toBool();
|
||||||
|
@ -210,39 +206,11 @@ void SettingsCache::setTokenDatabasePath(const QString &_tokenDatabasePath)
|
||||||
emit tokenDatabasePathChanged();
|
emit tokenDatabasePathChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsCache::setHandBgPath(const QString &_handBgPath)
|
void SettingsCache::setThemeName(const QString &_themeName)
|
||||||
{
|
{
|
||||||
handBgPath = _handBgPath;
|
themeName = _themeName;
|
||||||
settings->setValue("zonebg/hand", handBgPath);
|
settings->setValue("theme/name", themeName);
|
||||||
emit handBgPathChanged();
|
emit themeChanged();
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsCache::setStackBgPath(const QString &_stackBgPath)
|
|
||||||
{
|
|
||||||
stackBgPath = _stackBgPath;
|
|
||||||
settings->setValue("zonebg/stack", stackBgPath);
|
|
||||||
emit stackBgPathChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsCache::setTableBgPath(const QString &_tableBgPath)
|
|
||||||
{
|
|
||||||
tableBgPath = _tableBgPath;
|
|
||||||
settings->setValue("zonebg/table", tableBgPath);
|
|
||||||
emit tableBgPathChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsCache::setPlayerBgPath(const QString &_playerBgPath)
|
|
||||||
{
|
|
||||||
playerBgPath = _playerBgPath;
|
|
||||||
settings->setValue("zonebg/playerarea", playerBgPath);
|
|
||||||
emit playerBgPathChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SettingsCache::setCardBackPicturePath(const QString &_cardBackPicturePath)
|
|
||||||
{
|
|
||||||
cardBackPicturePath = _cardBackPicturePath;
|
|
||||||
settings->setValue("paths/cardbackpicture", cardBackPicturePath);
|
|
||||||
emit cardBackPicturePathChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingsCache::setPicDownload(int _picDownload)
|
void SettingsCache::setPicDownload(int _picDownload)
|
||||||
|
|
|
@ -25,11 +25,7 @@ signals:
|
||||||
void picsPathChanged();
|
void picsPathChanged();
|
||||||
void cardDatabasePathChanged();
|
void cardDatabasePathChanged();
|
||||||
void tokenDatabasePathChanged();
|
void tokenDatabasePathChanged();
|
||||||
void handBgPathChanged();
|
void themeChanged();
|
||||||
void stackBgPathChanged();
|
|
||||||
void tableBgPathChanged();
|
|
||||||
void playerBgPathChanged();
|
|
||||||
void cardBackPicturePathChanged();
|
|
||||||
void picDownloadChanged();
|
void picDownloadChanged();
|
||||||
void picDownloadHqChanged();
|
void picDownloadHqChanged();
|
||||||
void displayCardNamesChanged();
|
void displayCardNamesChanged();
|
||||||
|
@ -50,8 +46,7 @@ private:
|
||||||
ShortcutsSettings *shortcutsSettings;
|
ShortcutsSettings *shortcutsSettings;
|
||||||
QByteArray mainWindowGeometry;
|
QByteArray mainWindowGeometry;
|
||||||
QString lang;
|
QString lang;
|
||||||
QString deckPath, replaysPath, picsPath, cardDatabasePath, tokenDatabasePath;
|
QString deckPath, replaysPath, picsPath, cardDatabasePath, tokenDatabasePath, themeName;
|
||||||
QString handBgPath, stackBgPath, tableBgPath, playerBgPath, cardBackPicturePath;
|
|
||||||
bool picDownload;
|
bool picDownload;
|
||||||
bool picDownloadHq;
|
bool picDownloadHq;
|
||||||
bool notificationsEnabled;
|
bool notificationsEnabled;
|
||||||
|
@ -117,11 +112,7 @@ public:
|
||||||
QString getPicsPath() const { return picsPath; }
|
QString getPicsPath() const { return picsPath; }
|
||||||
QString getCardDatabasePath() const { return cardDatabasePath; }
|
QString getCardDatabasePath() const { return cardDatabasePath; }
|
||||||
QString getTokenDatabasePath() const { return tokenDatabasePath; }
|
QString getTokenDatabasePath() const { return tokenDatabasePath; }
|
||||||
QString getHandBgPath() const { return handBgPath; }
|
QString getThemeName() const { return themeName; }
|
||||||
QString getStackBgPath() const { return stackBgPath; }
|
|
||||||
QString getTableBgPath() const { return tableBgPath; }
|
|
||||||
QString getPlayerBgPath() const { return playerBgPath; }
|
|
||||||
QString getCardBackPicturePath() const { return cardBackPicturePath; }
|
|
||||||
QString getChatMentionColor() const { return chatMentionColor; }
|
QString getChatMentionColor() const { return chatMentionColor; }
|
||||||
QString getChatHighlightColor() const { return chatHighlightColor; }
|
QString getChatHighlightColor() const { return chatHighlightColor; }
|
||||||
bool getPicDownload() const { return picDownload; }
|
bool getPicDownload() const { return picDownload; }
|
||||||
|
@ -203,11 +194,7 @@ public slots:
|
||||||
void setPicsPath(const QString &_picsPath);
|
void setPicsPath(const QString &_picsPath);
|
||||||
void setCardDatabasePath(const QString &_cardDatabasePath);
|
void setCardDatabasePath(const QString &_cardDatabasePath);
|
||||||
void setTokenDatabasePath(const QString &_tokenDatabasePath);
|
void setTokenDatabasePath(const QString &_tokenDatabasePath);
|
||||||
void setHandBgPath(const QString &_handBgPath);
|
void setThemeName(const QString &_themeName);
|
||||||
void setStackBgPath(const QString &_stackBgPath);
|
|
||||||
void setTableBgPath(const QString &_tableBgPath);
|
|
||||||
void setPlayerBgPath(const QString &_playerBgPath);
|
|
||||||
void setCardBackPicturePath(const QString &_cardBackPicturePath);
|
|
||||||
void setChatMentionColor(const QString &_chatMentionColor);
|
void setChatMentionColor(const QString &_chatMentionColor);
|
||||||
void setChatHighlightColor(const QString &_chatHighlightColor);
|
void setChatHighlightColor(const QString &_chatHighlightColor);
|
||||||
void setPicDownload(int _picDownload);
|
void setPicDownload(int _picDownload);
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include "arrowitem.h"
|
#include "arrowitem.h"
|
||||||
#include "stackzone.h"
|
#include "stackzone.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "carddragitem.h"
|
#include "carddragitem.h"
|
||||||
#include "carditem.h"
|
#include "carditem.h"
|
||||||
|
@ -12,16 +13,13 @@
|
||||||
StackZone::StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent)
|
StackZone::StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "stack", false, false, true, parent), zoneHeight(_zoneHeight)
|
: SelectZone(_p, "stack", false, false, true, parent), zoneHeight(_zoneHeight)
|
||||||
{
|
{
|
||||||
connect(settingsCache, SIGNAL(stackBgPathChanged()), this, SLOT(updateBgPixmap()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
updateBgPixmap();
|
updateBg();
|
||||||
setCacheMode(DeviceCoordinateCache);
|
setCacheMode(DeviceCoordinateCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StackZone::updateBgPixmap()
|
void StackZone::updateBg()
|
||||||
{
|
{
|
||||||
QString bgPath = settingsCache->getStackBgPath();
|
|
||||||
if (!bgPath.isEmpty())
|
|
||||||
bgPixmap.load(bgPath);
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,10 +46,7 @@ QRectF StackZone::boundingRect() const
|
||||||
|
|
||||||
void StackZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
void StackZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
if (bgPixmap.isNull())
|
painter->fillRect(boundingRect(), themeManager->getStackBgBrush());
|
||||||
painter->fillRect(boundingRect(), QColor(113, 43, 43));
|
|
||||||
else
|
|
||||||
painter->fillRect(boundingRect(), QBrush(bgPixmap));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void StackZone::handleDropEvent(const QList<CardDragItem *> &dragItems, CardZone *startZone, const QPoint &/*dropPoint*/)
|
void StackZone::handleDropEvent(const QList<CardDragItem *> &dragItems, CardZone *startZone, const QPoint &/*dropPoint*/)
|
||||||
|
|
|
@ -7,9 +7,8 @@ class StackZone : public SelectZone {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
qreal zoneHeight;
|
qreal zoneHeight;
|
||||||
QPixmap bgPixmap;
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateBgPixmap();
|
void updateBg();
|
||||||
public:
|
public:
|
||||||
StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent = 0);
|
StackZone(Player *_p, int _zoneHeight, QGraphicsItem *parent = 0);
|
||||||
void handleDropEvent(const QList<CardDragItem *> &dragItems, CardZone *startZone, const QPoint &dropPoint);
|
void handleDropEvent(const QList<CardDragItem *> &dragItems, CardZone *startZone, const QPoint &dropPoint);
|
||||||
|
|
|
@ -53,21 +53,21 @@ void SearchLineEdit::keyPressEvent(QKeyEvent *event)
|
||||||
|
|
||||||
void TabDeckEditor::createShowHideDocksButtons()
|
void TabDeckEditor::createShowHideDocksButtons()
|
||||||
{
|
{
|
||||||
btnFilter = new QPushButton(QIcon("://resources/icon_view.svg"),QString());
|
btnFilter = new QPushButton(QIcon("theme:icons/view.svg"),QString());
|
||||||
btnFilter->setObjectName("btnFilter");
|
btnFilter->setObjectName("btnFilter");
|
||||||
btnFilter->setCheckable(true);
|
btnFilter->setCheckable(true);
|
||||||
btnFilter->setChecked(true);
|
btnFilter->setChecked(true);
|
||||||
btnFilter->setMaximumWidth(30);
|
btnFilter->setMaximumWidth(30);
|
||||||
searchLayout->addWidget(btnFilter);
|
searchLayout->addWidget(btnFilter);
|
||||||
|
|
||||||
btnDeck = new QPushButton(QIcon("://resources/hand.svg"),QString());
|
btnDeck = new QPushButton(QIcon("theme:hand.svg"),QString());
|
||||||
btnDeck->setObjectName("btnDeck");
|
btnDeck->setObjectName("btnDeck");
|
||||||
btnDeck->setCheckable(true);
|
btnDeck->setCheckable(true);
|
||||||
btnDeck->setChecked(true);
|
btnDeck->setChecked(true);
|
||||||
btnDeck->setMaximumWidth(30);
|
btnDeck->setMaximumWidth(30);
|
||||||
searchLayout->addWidget(btnDeck);
|
searchLayout->addWidget(btnDeck);
|
||||||
|
|
||||||
btnCard = new QPushButton(QIcon("://back.svg"),QString());
|
btnCard = new QPushButton(QIcon("theme:back.svg"),QString());
|
||||||
btnCard->setObjectName("btnCard");
|
btnCard->setObjectName("btnCard");
|
||||||
btnCard->setCheckable(true);
|
btnCard->setCheckable(true);
|
||||||
btnCard->setChecked(true);
|
btnCard->setChecked(true);
|
||||||
|
@ -134,7 +134,7 @@ void TabDeckEditor::createDeckDock()
|
||||||
|
|
||||||
/* Update price
|
/* Update price
|
||||||
aUpdatePrices = new QAction(QString(), this);
|
aUpdatePrices = new QAction(QString(), this);
|
||||||
aUpdatePrices->setIcon(QIcon(":/resources/icon_update.png"));
|
aUpdatePrices->setIcon(QIcon("theme:icons/update.png"));
|
||||||
connect(aUpdatePrices, SIGNAL(triggered()), this, SLOT(actUpdatePrices()));
|
connect(aUpdatePrices, SIGNAL(triggered()), this, SLOT(actUpdatePrices()));
|
||||||
if (!settingsCache->getPriceTagFeature())
|
if (!settingsCache->getPriceTagFeature())
|
||||||
aUpdatePrices->setVisible(false);
|
aUpdatePrices->setVisible(false);
|
||||||
|
@ -316,11 +316,11 @@ void TabDeckEditor::createMenus()
|
||||||
addTabMenu(deckMenu);
|
addTabMenu(deckMenu);
|
||||||
|
|
||||||
aClearFilterAll = new QAction(QString(), this);
|
aClearFilterAll = new QAction(QString(), this);
|
||||||
aClearFilterAll->setIcon(QIcon(":/resources/icon_clearsearch.svg"));
|
aClearFilterAll->setIcon(QIcon("theme:icons/clearsearch.svg"));
|
||||||
connect(aClearFilterAll, SIGNAL(triggered()), this, SLOT(actClearFilterAll()));
|
connect(aClearFilterAll, SIGNAL(triggered()), this, SLOT(actClearFilterAll()));
|
||||||
|
|
||||||
aClearFilterOne = new QAction(QString(), this);
|
aClearFilterOne = new QAction(QString(), this);
|
||||||
aClearFilterOne->setIcon(QIcon(":/resources/decrement.svg"));
|
aClearFilterOne->setIcon(QIcon("theme:icons/decrement.svg"));
|
||||||
connect(aClearFilterOne, SIGNAL(triggered()), this, SLOT(actClearFilterOne()));
|
connect(aClearFilterOne, SIGNAL(triggered()), this, SLOT(actClearFilterOne()));
|
||||||
|
|
||||||
dbMenu = new QMenu(this);
|
dbMenu = new QMenu(this);
|
||||||
|
@ -342,7 +342,7 @@ void TabDeckEditor::createCentralFrame()
|
||||||
searchEdit = new SearchLineEdit;
|
searchEdit = new SearchLineEdit;
|
||||||
searchEdit->setObjectName("searchEdit");
|
searchEdit->setObjectName("searchEdit");
|
||||||
#if QT_VERSION >= 0x050300
|
#if QT_VERSION >= 0x050300
|
||||||
searchEdit->addAction(QIcon(":/resources/icon_search_black.svg"), QLineEdit::LeadingPosition);
|
searchEdit->addAction(QIcon("theme:icons/search.svg"), QLineEdit::LeadingPosition);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
setFocusProxy(searchEdit);
|
setFocusProxy(searchEdit);
|
||||||
|
@ -381,19 +381,19 @@ void TabDeckEditor::createCentralFrame()
|
||||||
searchEdit->setTreeView(databaseView);
|
searchEdit->setTreeView(databaseView);
|
||||||
|
|
||||||
aAddCard = new QAction(QString(), this);
|
aAddCard = new QAction(QString(), this);
|
||||||
aAddCard->setIcon(QIcon(":/resources/arrow_right_green.svg"));
|
aAddCard->setIcon(QIcon("theme:icons/arrow_right_green.svg"));
|
||||||
connect(aAddCard, SIGNAL(triggered()), this, SLOT(actAddCard()));
|
connect(aAddCard, SIGNAL(triggered()), this, SLOT(actAddCard()));
|
||||||
aAddCardToSideboard = new QAction(QString(), this);
|
aAddCardToSideboard = new QAction(QString(), this);
|
||||||
aAddCardToSideboard->setIcon(QIcon(":/resources/add_to_sideboard.svg"));
|
aAddCardToSideboard->setIcon(QIcon("theme:icons/arrow_right_blue.svg"));
|
||||||
connect(aAddCardToSideboard, SIGNAL(triggered()), this, SLOT(actAddCardToSideboard()));
|
connect(aAddCardToSideboard, SIGNAL(triggered()), this, SLOT(actAddCardToSideboard()));
|
||||||
aRemoveCard = new QAction(QString(), this);
|
aRemoveCard = new QAction(QString(), this);
|
||||||
aRemoveCard->setIcon(QIcon(":/resources/remove_row.svg"));
|
aRemoveCard->setIcon(QIcon("theme:icons/remove_row.svg"));
|
||||||
connect(aRemoveCard, SIGNAL(triggered()), this, SLOT(actRemoveCard()));
|
connect(aRemoveCard, SIGNAL(triggered()), this, SLOT(actRemoveCard()));
|
||||||
aIncrement = new QAction(QString(), this);
|
aIncrement = new QAction(QString(), this);
|
||||||
aIncrement->setIcon(QIcon(":/resources/increment.svg"));
|
aIncrement->setIcon(QIcon("theme:icons/increment.svg"));
|
||||||
connect(aIncrement, SIGNAL(triggered()), this, SLOT(actIncrement()));
|
connect(aIncrement, SIGNAL(triggered()), this, SLOT(actIncrement()));
|
||||||
aDecrement = new QAction(QString(), this);
|
aDecrement = new QAction(QString(), this);
|
||||||
aDecrement->setIcon(QIcon(":/resources/decrement.svg"));
|
aDecrement->setIcon(QIcon("theme:icons/decrement.svg"));
|
||||||
connect(aDecrement, SIGNAL(triggered()), this, SLOT(actDecrement()));
|
connect(aDecrement, SIGNAL(triggered()), this, SLOT(actDecrement()));
|
||||||
|
|
||||||
QToolBar *deckEditToolBar = new QToolBar;
|
QToolBar *deckEditToolBar = new QToolBar;
|
||||||
|
|
|
@ -80,25 +80,25 @@ TabDeckStorage::TabDeckStorage(TabSupervisor *_tabSupervisor, AbstractClient *_c
|
||||||
hbox->addWidget(rightGroupBox);
|
hbox->addWidget(rightGroupBox);
|
||||||
|
|
||||||
aOpenLocalDeck = new QAction(this);
|
aOpenLocalDeck = new QAction(this);
|
||||||
aOpenLocalDeck->setIcon(QIcon(":/resources/pencil.svg"));
|
aOpenLocalDeck->setIcon(QIcon("theme:icons/pencil.svg"));
|
||||||
connect(aOpenLocalDeck, SIGNAL(triggered()), this, SLOT(actOpenLocalDeck()));
|
connect(aOpenLocalDeck, SIGNAL(triggered()), this, SLOT(actOpenLocalDeck()));
|
||||||
aUpload = new QAction(this);
|
aUpload = new QAction(this);
|
||||||
aUpload->setIcon(QIcon(":/resources/arrow_right_green.svg"));
|
aUpload->setIcon(QIcon("theme:icons/arrow_right_green.svg"));
|
||||||
connect(aUpload, SIGNAL(triggered()), this, SLOT(actUpload()));
|
connect(aUpload, SIGNAL(triggered()), this, SLOT(actUpload()));
|
||||||
aDeleteLocalDeck = new QAction(this);
|
aDeleteLocalDeck = new QAction(this);
|
||||||
aDeleteLocalDeck->setIcon(QIcon(":/resources/remove_row.svg"));
|
aDeleteLocalDeck->setIcon(QIcon("theme:icons/remove_row.svg"));
|
||||||
connect(aDeleteLocalDeck, SIGNAL(triggered()), this, SLOT(actDeleteLocalDeck()));
|
connect(aDeleteLocalDeck, SIGNAL(triggered()), this, SLOT(actDeleteLocalDeck()));
|
||||||
aOpenRemoteDeck = new QAction(this);
|
aOpenRemoteDeck = new QAction(this);
|
||||||
aOpenRemoteDeck->setIcon(QIcon(":/resources/pencil.svg"));
|
aOpenRemoteDeck->setIcon(QIcon("theme:icons/pencil.svg"));
|
||||||
connect(aOpenRemoteDeck, SIGNAL(triggered()), this, SLOT(actOpenRemoteDeck()));
|
connect(aOpenRemoteDeck, SIGNAL(triggered()), this, SLOT(actOpenRemoteDeck()));
|
||||||
aDownload = new QAction(this);
|
aDownload = new QAction(this);
|
||||||
aDownload->setIcon(QIcon(":/resources/arrow_left_green.svg"));
|
aDownload->setIcon(QIcon("theme:icons/arrow_left_green.svg"));
|
||||||
connect(aDownload, SIGNAL(triggered()), this, SLOT(actDownload()));
|
connect(aDownload, SIGNAL(triggered()), this, SLOT(actDownload()));
|
||||||
aNewFolder = new QAction(this);
|
aNewFolder = new QAction(this);
|
||||||
aNewFolder->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogNewFolder));
|
aNewFolder->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogNewFolder));
|
||||||
connect(aNewFolder, SIGNAL(triggered()), this, SLOT(actNewFolder()));
|
connect(aNewFolder, SIGNAL(triggered()), this, SLOT(actNewFolder()));
|
||||||
aDeleteRemoteDeck = new QAction(this);
|
aDeleteRemoteDeck = new QAction(this);
|
||||||
aDeleteRemoteDeck->setIcon(QIcon(":/resources/remove_row.svg"));
|
aDeleteRemoteDeck->setIcon(QIcon("theme:icons/remove_row.svg"));
|
||||||
connect(aDeleteRemoteDeck, SIGNAL(triggered()), this, SLOT(actDeleteRemoteDeck()));
|
connect(aDeleteRemoteDeck, SIGNAL(triggered()), this, SLOT(actDeleteRemoteDeck()));
|
||||||
|
|
||||||
leftToolBar->addAction(aOpenLocalDeck);
|
leftToolBar->addAction(aOpenLocalDeck);
|
||||||
|
|
|
@ -363,17 +363,17 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay)
|
||||||
|
|
||||||
replayStartButton = new QToolButton;
|
replayStartButton = new QToolButton;
|
||||||
replayStartButton->setIconSize(QSize(32, 32));
|
replayStartButton->setIconSize(QSize(32, 32));
|
||||||
replayStartButton->setIcon(QIcon(":/resources/replay_start.svg"));
|
replayStartButton->setIcon(QIcon("theme:replay/start.svg"));
|
||||||
connect(replayStartButton, SIGNAL(clicked()), this, SLOT(replayStartButtonClicked()));
|
connect(replayStartButton, SIGNAL(clicked()), this, SLOT(replayStartButtonClicked()));
|
||||||
replayPauseButton = new QToolButton;
|
replayPauseButton = new QToolButton;
|
||||||
replayPauseButton->setIconSize(QSize(32, 32));
|
replayPauseButton->setIconSize(QSize(32, 32));
|
||||||
replayPauseButton->setEnabled(false);
|
replayPauseButton->setEnabled(false);
|
||||||
replayPauseButton->setIcon(QIcon(":/resources/replay_pause.svg"));
|
replayPauseButton->setIcon(QIcon("theme:replay/pause.svg"));
|
||||||
connect(replayPauseButton, SIGNAL(clicked()), this, SLOT(replayPauseButtonClicked()));
|
connect(replayPauseButton, SIGNAL(clicked()), this, SLOT(replayPauseButtonClicked()));
|
||||||
replayFastForwardButton = new QToolButton;
|
replayFastForwardButton = new QToolButton;
|
||||||
replayFastForwardButton->setIconSize(QSize(32, 32));
|
replayFastForwardButton->setIconSize(QSize(32, 32));
|
||||||
replayFastForwardButton->setEnabled(false);
|
replayFastForwardButton->setEnabled(false);
|
||||||
replayFastForwardButton->setIcon(QIcon(":/resources/replay_fastforward.svg"));
|
replayFastForwardButton->setIcon(QIcon("theme:replay/fastforward.svg"));
|
||||||
replayFastForwardButton->setCheckable(true);
|
replayFastForwardButton->setCheckable(true);
|
||||||
connect(replayFastForwardButton, SIGNAL(toggled(bool)), this, SLOT(replayFastForwardButtonToggled(bool)));
|
connect(replayFastForwardButton, SIGNAL(toggled(bool)), this, SLOT(replayFastForwardButtonToggled(bool)));
|
||||||
|
|
||||||
|
|
|
@ -78,24 +78,24 @@ TabReplays::TabReplays(TabSupervisor *_tabSupervisor, AbstractClient *_client)
|
||||||
hbox->addWidget(rightGroupBox);
|
hbox->addWidget(rightGroupBox);
|
||||||
|
|
||||||
aOpenLocalReplay = new QAction(this);
|
aOpenLocalReplay = new QAction(this);
|
||||||
aOpenLocalReplay->setIcon(QIcon(":/resources/icon_view.svg"));
|
aOpenLocalReplay->setIcon(QIcon("theme:icons/view.svg"));
|
||||||
connect(aOpenLocalReplay, SIGNAL(triggered()), this, SLOT(actOpenLocalReplay()));
|
connect(aOpenLocalReplay, SIGNAL(triggered()), this, SLOT(actOpenLocalReplay()));
|
||||||
connect(localDirView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actOpenLocalReplay()));
|
connect(localDirView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actOpenLocalReplay()));
|
||||||
aDeleteLocalReplay = new QAction(this);
|
aDeleteLocalReplay = new QAction(this);
|
||||||
aDeleteLocalReplay->setIcon(QIcon(":/resources/remove_row.svg"));
|
aDeleteLocalReplay->setIcon(QIcon("theme:icons/remove_row.svg"));
|
||||||
connect(aDeleteLocalReplay, SIGNAL(triggered()), this, SLOT(actDeleteLocalReplay()));
|
connect(aDeleteLocalReplay, SIGNAL(triggered()), this, SLOT(actDeleteLocalReplay()));
|
||||||
aOpenRemoteReplay = new QAction(this);
|
aOpenRemoteReplay = new QAction(this);
|
||||||
aOpenRemoteReplay->setIcon(QIcon(":/resources/icon_view.svg"));
|
aOpenRemoteReplay->setIcon(QIcon("theme:icons/view.svg"));
|
||||||
connect(aOpenRemoteReplay, SIGNAL(triggered()), this, SLOT(actOpenRemoteReplay()));
|
connect(aOpenRemoteReplay, SIGNAL(triggered()), this, SLOT(actOpenRemoteReplay()));
|
||||||
connect(serverDirView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actOpenRemoteReplay()));
|
connect(serverDirView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actOpenRemoteReplay()));
|
||||||
aDownload = new QAction(this);
|
aDownload = new QAction(this);
|
||||||
aDownload->setIcon(QIcon(":/resources/arrow_left_green.svg"));
|
aDownload->setIcon(QIcon("theme:icons/arrow_left_green.svg"));
|
||||||
connect(aDownload, SIGNAL(triggered()), this, SLOT(actDownload()));
|
connect(aDownload, SIGNAL(triggered()), this, SLOT(actDownload()));
|
||||||
aKeep = new QAction(this);
|
aKeep = new QAction(this);
|
||||||
aKeep->setIcon(QIcon(":/resources/lock.svg"));
|
aKeep->setIcon(QIcon("theme:icons/lock.svg"));
|
||||||
connect(aKeep, SIGNAL(triggered()), this, SLOT(actKeepRemoteReplay()));
|
connect(aKeep, SIGNAL(triggered()), this, SLOT(actKeepRemoteReplay()));
|
||||||
aDeleteRemoteReplay = new QAction(this);
|
aDeleteRemoteReplay = new QAction(this);
|
||||||
aDeleteRemoteReplay->setIcon(QIcon(":/resources/remove_row.svg"));
|
aDeleteRemoteReplay->setIcon(QIcon("theme:icons/remove_row.svg"));
|
||||||
connect(aDeleteRemoteReplay, SIGNAL(triggered()), this, SLOT(actDeleteRemoteReplay()));
|
connect(aDeleteRemoteReplay, SIGNAL(triggered()), this, SLOT(actDeleteRemoteReplay()));
|
||||||
|
|
||||||
leftToolBar->addAction(aOpenLocalReplay);
|
leftToolBar->addAction(aOpenLocalReplay);
|
||||||
|
|
|
@ -71,7 +71,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI
|
||||||
connect(aOpenChatSettings, SIGNAL(triggered()), this, SLOT(actOpenChatSettings()));
|
connect(aOpenChatSettings, SIGNAL(triggered()), this, SLOT(actOpenChatSettings()));
|
||||||
|
|
||||||
QToolButton *chatSettingsButton = new QToolButton;
|
QToolButton *chatSettingsButton = new QToolButton;
|
||||||
chatSettingsButton->setIcon(QIcon(":/resources/icon_settings.svg"));
|
chatSettingsButton->setIcon(QIcon("theme:icons/settings.svg"));
|
||||||
chatSettingsButton->setMenu(chatSettingsMenu);
|
chatSettingsButton->setMenu(chatSettingsMenu);
|
||||||
chatSettingsButton->setPopupMode(QToolButton::InstantPopup);
|
chatSettingsButton->setPopupMode(QToolButton::InstantPopup);
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ void CloseButton::paintEvent(QPaintEvent * /*event*/)
|
||||||
TabSupervisor::TabSupervisor(AbstractClient *_client, QWidget *parent)
|
TabSupervisor::TabSupervisor(AbstractClient *_client, QWidget *parent)
|
||||||
: QTabWidget(parent), userInfo(0), client(_client), tabServer(0), tabUserLists(0), tabDeckStorage(0), tabReplays(0), tabAdmin(0)
|
: QTabWidget(parent), userInfo(0), client(_client), tabServer(0), tabUserLists(0), tabDeckStorage(0), tabReplays(0), tabAdmin(0)
|
||||||
{
|
{
|
||||||
tabChangedIcon = new QIcon(":/resources/icon_tab_changed.svg");
|
tabChangedIcon = new QIcon("theme:icons/tab_changed.svg");
|
||||||
setElideMode(Qt::ElideRight);
|
setElideMode(Qt::ElideRight);
|
||||||
setMovable(true);
|
setMovable(true);
|
||||||
setIconSize(QSize(15, 15));
|
setIconSize(QSize(15, 15));
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include "tablezone.h"
|
#include "tablezone.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
#include "arrowitem.h"
|
#include "arrowitem.h"
|
||||||
#include "carddragitem.h"
|
#include "carddragitem.h"
|
||||||
#include "carddatabase.h"
|
#include "carddatabase.h"
|
||||||
|
@ -16,20 +17,18 @@
|
||||||
#include "pb/command_move_card.pb.h"
|
#include "pb/command_move_card.pb.h"
|
||||||
#include "pb/command_set_card_attr.pb.h"
|
#include "pb/command_set_card_attr.pb.h"
|
||||||
|
|
||||||
|
|
||||||
const QColor TableZone::BACKGROUND_COLOR = QColor(100, 100, 100);
|
const QColor TableZone::BACKGROUND_COLOR = QColor(100, 100, 100);
|
||||||
const QColor TableZone::FADE_MASK = QColor(0, 0, 0, 80);
|
const QColor TableZone::FADE_MASK = QColor(0, 0, 0, 80);
|
||||||
const QColor TableZone::GRADIENT_COLOR = QColor(255, 255, 255, 150);
|
const QColor TableZone::GRADIENT_COLOR = QColor(255, 255, 255, 150);
|
||||||
const QColor TableZone::GRADIENT_COLORLESS = QColor(255, 255, 255, 0);
|
const QColor TableZone::GRADIENT_COLORLESS = QColor(255, 255, 255, 0);
|
||||||
|
|
||||||
|
|
||||||
TableZone::TableZone(Player *_p, QGraphicsItem *parent)
|
TableZone::TableZone(Player *_p, QGraphicsItem *parent)
|
||||||
: SelectZone(_p, "table", true, false, true, parent), active(false)
|
: SelectZone(_p, "table", true, false, true, parent), active(false)
|
||||||
{
|
{
|
||||||
connect(settingsCache, SIGNAL(tableBgPathChanged()), this, SLOT(updateBgPixmap()));
|
connect(themeManager, SIGNAL(themeChanged()), this, SLOT(updateBg()));
|
||||||
connect(settingsCache, SIGNAL(invertVerticalCoordinateChanged()), this, SLOT(reorganizeCards()));
|
connect(settingsCache, SIGNAL(invertVerticalCoordinateChanged()), this, SLOT(reorganizeCards()));
|
||||||
|
|
||||||
updateBgPixmap();
|
updateBg();
|
||||||
|
|
||||||
height = MARGIN_TOP + MARGIN_BOTTOM + TABLEROWS * CARD_HEIGHT + (TABLEROWS-1) * PADDING_Y;
|
height = MARGIN_TOP + MARGIN_BOTTOM + TABLEROWS * CARD_HEIGHT + (TABLEROWS-1) * PADDING_Y;
|
||||||
width = MIN_WIDTH;
|
width = MIN_WIDTH;
|
||||||
|
@ -44,11 +43,8 @@ TableZone::TableZone(Player *_p, QGraphicsItem *parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TableZone::updateBgPixmap()
|
void TableZone::updateBg()
|
||||||
{
|
{
|
||||||
QString bgPath = settingsCache->getTableBgPath();
|
|
||||||
if (!bgPath.isEmpty())
|
|
||||||
backgroundPixelMap.load(bgPath);
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,11 +63,7 @@ bool TableZone::isInverted() const
|
||||||
|
|
||||||
void TableZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
void TableZone::paint(QPainter *painter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/)
|
||||||
{
|
{
|
||||||
// if no custom background is provided then use the default color
|
painter->fillRect(boundingRect(), themeManager->getTableBgBrush());
|
||||||
if (backgroundPixelMap.isNull())
|
|
||||||
painter->fillRect(boundingRect(), BACKGROUND_COLOR);
|
|
||||||
else
|
|
||||||
painter->fillRect(boundingRect(), QBrush(backgroundPixelMap));
|
|
||||||
|
|
||||||
if (active) {
|
if (active) {
|
||||||
paintZoneOutline(painter);
|
paintZoneOutline(painter);
|
||||||
|
|
|
@ -49,7 +49,7 @@ private:
|
||||||
static const int BOX_LINE_WIDTH = 10;
|
static const int BOX_LINE_WIDTH = 10;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Default background color, inactive mask and boarder gradient
|
Default inactive mask and border gradient
|
||||||
*/
|
*/
|
||||||
static const QColor BACKGROUND_COLOR;
|
static const QColor BACKGROUND_COLOR;
|
||||||
static const QColor FADE_MASK;
|
static const QColor FADE_MASK;
|
||||||
|
@ -84,7 +84,7 @@ private slots:
|
||||||
/**
|
/**
|
||||||
Loads in any found custom background and updates
|
Loads in any found custom background and updates
|
||||||
*/
|
*/
|
||||||
void updateBgPixmap();
|
void updateBg();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
/**
|
/**
|
||||||
|
|
144
cockatrice/src/thememanager.cpp
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
#include "thememanager.h"
|
||||||
|
#include "settingscache.h"
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QColor>
|
||||||
|
#include <QLibraryInfo>
|
||||||
|
#if QT_VERSION < 0x050000
|
||||||
|
#include <QDesktopServices>
|
||||||
|
#else
|
||||||
|
#include <QStandardPaths>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEFAULT_THEME_NAME "Default"
|
||||||
|
#define STYLE_CSS_NAME "style.css"
|
||||||
|
#define HANDZONE_BG_NAME "handzone"
|
||||||
|
#define PLAYERZONE_BG_NAME "playerzone"
|
||||||
|
#define STACKZONE_BG_NAME "stackzone"
|
||||||
|
#define TABLEZONE_BG_NAME "tablezone"
|
||||||
|
#define CARD_BACK_NAME "cardback"
|
||||||
|
|
||||||
|
ThemeManager::ThemeManager(QObject *parent)
|
||||||
|
:QObject(parent)
|
||||||
|
{
|
||||||
|
ensureThemeDirectoryExists();
|
||||||
|
connect(settingsCache, SIGNAL(themeChanged()), this, SLOT(themeChangedSlot()));
|
||||||
|
themeChangedSlot();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThemeManager::ensureThemeDirectoryExists()
|
||||||
|
{
|
||||||
|
if(settingsCache->getThemeName().isEmpty() ||
|
||||||
|
!getAvailableThemes().contains(settingsCache->getThemeName()))
|
||||||
|
{
|
||||||
|
qDebug() << "Theme name not set, setting default value";
|
||||||
|
settingsCache->setThemeName(DEFAULT_THEME_NAME);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringMap & ThemeManager::getAvailableThemes()
|
||||||
|
{
|
||||||
|
QDir dir;
|
||||||
|
availableThemes.clear();
|
||||||
|
|
||||||
|
// load themes from user profile dir
|
||||||
|
dir =
|
||||||
|
#if QT_VERSION < 0x050000
|
||||||
|
QDesktopServices::storageLocation(QDesktopServices::DataLocation) +
|
||||||
|
#else
|
||||||
|
QStandardPaths::standardLocations(QStandardPaths::DataLocation).first() +
|
||||||
|
#endif
|
||||||
|
"/themes";
|
||||||
|
|
||||||
|
foreach(QString themeName, dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name))
|
||||||
|
{
|
||||||
|
if(!availableThemes.contains(themeName))
|
||||||
|
availableThemes.insert(themeName, dir.absoluteFilePath(themeName));
|
||||||
|
}
|
||||||
|
|
||||||
|
// load themes from cockatrice system dir
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
dir = qApp->applicationDirPath() + "/../Resources/themes";
|
||||||
|
#elif defined(Q_OS_WIN)
|
||||||
|
dir = qApp->applicationDirPath() + "/themes";
|
||||||
|
#else // linux
|
||||||
|
dir = qApp->applicationDirPath() + "/../share/cockatrice/themes";
|
||||||
|
#endif
|
||||||
|
foreach(QString themeName, dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name))
|
||||||
|
{
|
||||||
|
if(!availableThemes.contains(themeName))
|
||||||
|
availableThemes.insert(themeName, dir.absoluteFilePath(themeName));
|
||||||
|
}
|
||||||
|
|
||||||
|
return availableThemes;
|
||||||
|
}
|
||||||
|
|
||||||
|
QBrush ThemeManager::loadBrush(QDir dir, QString fileName, QColor fallbackColor)
|
||||||
|
{
|
||||||
|
QBrush brush;
|
||||||
|
QPixmap tmp;
|
||||||
|
QStringList exts;
|
||||||
|
exts << ".png" << ".jpg" << ".jpeg" << ".gif" << ".bmp";
|
||||||
|
|
||||||
|
brush.setColor(fallbackColor);
|
||||||
|
brush.setStyle(Qt::SolidPattern);
|
||||||
|
|
||||||
|
foreach (const QString &ext, exts) {
|
||||||
|
if (dir.exists(fileName + ext)) {
|
||||||
|
tmp.load(dir.absoluteFilePath(fileName + ext));
|
||||||
|
if(!tmp.isNull())
|
||||||
|
brush.setTexture(tmp);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return brush;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPixmap ThemeManager::loadPixmap(QDir dir, QString fileName)
|
||||||
|
{
|
||||||
|
QPixmap pix;
|
||||||
|
QStringList exts;
|
||||||
|
exts << ".png" << ".jpg" << ".jpeg" << ".gif" << ".bmp";
|
||||||
|
|
||||||
|
foreach (const QString &ext, exts) {
|
||||||
|
if (dir.exists(fileName + ext)) {
|
||||||
|
pix.load(dir.absoluteFilePath(fileName + ext));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return pix;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ThemeManager::themeChangedSlot()
|
||||||
|
{
|
||||||
|
QString themeName = settingsCache->getThemeName();
|
||||||
|
qDebug() << "Theme changed:" << themeName;
|
||||||
|
|
||||||
|
QDir dir = getAvailableThemes().value(themeName);
|
||||||
|
|
||||||
|
// css
|
||||||
|
if(dir.exists(STYLE_CSS_NAME))
|
||||||
|
|
||||||
|
qApp->setStyleSheet("file:///" + dir.absoluteFilePath(STYLE_CSS_NAME));
|
||||||
|
else
|
||||||
|
qApp->setStyleSheet("");
|
||||||
|
|
||||||
|
// card background
|
||||||
|
cardBackPixmap = loadPixmap(dir, CARD_BACK_NAME);
|
||||||
|
|
||||||
|
// zones bg
|
||||||
|
dir.cd("zones");
|
||||||
|
handBgBrush = loadBrush(dir, HANDZONE_BG_NAME, QColor(80, 100, 50));
|
||||||
|
tableBgBrush = loadBrush(dir, TABLEZONE_BG_NAME, QColor(70, 50, 100));
|
||||||
|
playerBgBrush = loadBrush(dir, PLAYERZONE_BG_NAME, QColor(200, 200, 200));
|
||||||
|
stackBgBrush = loadBrush(dir, STACKZONE_BG_NAME, QColor(113, 43, 43));
|
||||||
|
|
||||||
|
// resources
|
||||||
|
QStringList resources;
|
||||||
|
resources << dir.absolutePath() << ":/resources";
|
||||||
|
QDir::setSearchPaths("theme", resources);
|
||||||
|
|
||||||
|
emit themeChanged();
|
||||||
|
}
|
42
cockatrice/src/thememanager.h
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#ifndef THEMEMANAGER_H
|
||||||
|
#define THEMEMANAGER_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QBrush>
|
||||||
|
#include <QPixmap>
|
||||||
|
#include <QMap>
|
||||||
|
#include <QDir>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
typedef QMap<QString, QString> QStringMap;
|
||||||
|
|
||||||
|
class QApplication;
|
||||||
|
|
||||||
|
class ThemeManager : public QObject {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
ThemeManager(QObject *parent = 0);
|
||||||
|
private:
|
||||||
|
QBrush handBgBrush, stackBgBrush, tableBgBrush, playerBgBrush;
|
||||||
|
QPixmap cardBackPixmap;
|
||||||
|
QStringMap availableThemes;
|
||||||
|
protected:
|
||||||
|
void ensureThemeDirectoryExists();
|
||||||
|
QBrush loadBrush(QDir dir, QString fileName, QColor fallbackColor);
|
||||||
|
QPixmap loadPixmap(QDir dir, QString fileName);
|
||||||
|
public:
|
||||||
|
QBrush &getHandBgBrush() { return handBgBrush; }
|
||||||
|
QBrush &getStackBgBrush() { return stackBgBrush; }
|
||||||
|
QBrush &getTableBgBrush() { return tableBgBrush; }
|
||||||
|
QBrush &getPlayerBgBrush() { return playerBgBrush; }
|
||||||
|
QPixmap &getCardBackPixmap() { return cardBackPixmap; }
|
||||||
|
QStringMap &getAvailableThemes();
|
||||||
|
protected slots:
|
||||||
|
void themeChangedSlot();
|
||||||
|
signals:
|
||||||
|
void themeChanged();
|
||||||
|
};
|
||||||
|
|
||||||
|
extern ThemeManager * themeManager;
|
||||||
|
|
||||||
|
#endif
|
|
@ -100,7 +100,7 @@ void MainWindow::processConnectionClosedEvent(const Event_ConnectionClosed &even
|
||||||
void MainWindow::processServerShutdownEvent(const Event_ServerShutdown &event)
|
void MainWindow::processServerShutdownEvent(const Event_ServerShutdown &event)
|
||||||
{
|
{
|
||||||
serverShutdownMessageBox.setInformativeText(tr("The server is going to be restarted in %n minute(s).\nAll running games will be lost.\nReason for shutdown: %1", "", event.minutes()).arg(QString::fromStdString(event.reason())));
|
serverShutdownMessageBox.setInformativeText(tr("The server is going to be restarted in %n minute(s).\nAll running games will be lost.\nReason for shutdown: %1", "", event.minutes()).arg(QString::fromStdString(event.reason())));
|
||||||
serverShutdownMessageBox.setIconPixmap(QPixmap(":/resources/appicon.svg").scaled(64, 64));
|
serverShutdownMessageBox.setIconPixmap(QPixmap("theme:appicon.svg").scaled(64, 64));
|
||||||
serverShutdownMessageBox.setText(tr("Scheduled server shutdown"));
|
serverShutdownMessageBox.setText(tr("Scheduled server shutdown"));
|
||||||
serverShutdownMessageBox.setWindowModality(Qt::ApplicationModal);
|
serverShutdownMessageBox.setWindowModality(Qt::ApplicationModal);
|
||||||
serverShutdownMessageBox.setVisible(true);
|
serverShutdownMessageBox.setVisible(true);
|
||||||
|
@ -618,7 +618,7 @@ void MainWindow::createTrayIcon() {
|
||||||
|
|
||||||
trayIcon = new QSystemTrayIcon(this);
|
trayIcon = new QSystemTrayIcon(this);
|
||||||
trayIcon->setContextMenu(trayIconMenu);
|
trayIcon->setContextMenu(trayIconMenu);
|
||||||
trayIcon->setIcon(QIcon(":/resources/appicon.svg"));
|
trayIcon->setIcon(QIcon("theme:cockatrice.svg"));
|
||||||
trayIcon->show();
|
trayIcon->show();
|
||||||
|
|
||||||
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
|
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
|
||||||
|
|
|
@ -24,28 +24,28 @@ WndSets::WndSets(QWidget *parent)
|
||||||
setsEditToolBar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
setsEditToolBar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
|
|
||||||
aTop = new QAction(QString(), this);
|
aTop = new QAction(QString(), this);
|
||||||
aTop->setIcon(QIcon(":/resources/arrow_top_green.svg"));
|
aTop->setIcon(QIcon("theme:icons/arrow_top_green.svg"));
|
||||||
aTop->setToolTip(tr("Move selected set to the top"));
|
aTop->setToolTip(tr("Move selected set to the top"));
|
||||||
aTop->setEnabled(false);
|
aTop->setEnabled(false);
|
||||||
connect(aTop, SIGNAL(triggered()), this, SLOT(actTop()));
|
connect(aTop, SIGNAL(triggered()), this, SLOT(actTop()));
|
||||||
setsEditToolBar->addAction(aTop);
|
setsEditToolBar->addAction(aTop);
|
||||||
|
|
||||||
aUp = new QAction(QString(), this);
|
aUp = new QAction(QString(), this);
|
||||||
aUp->setIcon(QIcon(":/resources/arrow_up_green.svg"));
|
aUp->setIcon(QIcon("theme:icons/arrow_up_green.svg"));
|
||||||
aUp->setToolTip(tr("Move selected set up"));
|
aUp->setToolTip(tr("Move selected set up"));
|
||||||
aUp->setEnabled(false);
|
aUp->setEnabled(false);
|
||||||
connect(aUp, SIGNAL(triggered()), this, SLOT(actUp()));
|
connect(aUp, SIGNAL(triggered()), this, SLOT(actUp()));
|
||||||
setsEditToolBar->addAction(aUp);
|
setsEditToolBar->addAction(aUp);
|
||||||
|
|
||||||
aDown = new QAction(QString(), this);
|
aDown = new QAction(QString(), this);
|
||||||
aDown->setIcon(QIcon(":/resources/arrow_down_green.svg"));
|
aDown->setIcon(QIcon("theme:icons/arrow_down_green.svg"));
|
||||||
aDown->setToolTip(tr("Move selected set down"));
|
aDown->setToolTip(tr("Move selected set down"));
|
||||||
aDown->setEnabled(false);
|
aDown->setEnabled(false);
|
||||||
connect(aDown, SIGNAL(triggered()), this, SLOT(actDown()));
|
connect(aDown, SIGNAL(triggered()), this, SLOT(actDown()));
|
||||||
setsEditToolBar->addAction(aDown);
|
setsEditToolBar->addAction(aDown);
|
||||||
|
|
||||||
aBottom = new QAction(QString(), this);
|
aBottom = new QAction(QString(), this);
|
||||||
aBottom->setIcon(QIcon(":/resources/arrow_bottom_green.svg"));
|
aBottom->setIcon(QIcon("theme:icons/arrow_bottom_green.svg"));
|
||||||
aBottom->setToolTip(tr("Move selected set to the bottom"));
|
aBottom->setToolTip(tr("Move selected set to the bottom"));
|
||||||
aBottom->setEnabled(false);
|
aBottom->setEnabled(false);
|
||||||
connect(aBottom, SIGNAL(triggered()), this, SLOT(actBottom()));
|
connect(aBottom, SIGNAL(triggered()), this, SLOT(actBottom()));
|
||||||
|
|
|
@ -250,5 +250,5 @@ void ZoneViewWidget::zoneDeleted()
|
||||||
void ZoneViewWidget::initStyleOption(QStyleOption *option) const {
|
void ZoneViewWidget::initStyleOption(QStyleOption *option) const {
|
||||||
QStyleOptionTitleBar *titleBar = qstyleoption_cast<QStyleOptionTitleBar *>(option);
|
QStyleOptionTitleBar *titleBar = qstyleoption_cast<QStyleOptionTitleBar *>(option);
|
||||||
if (titleBar)
|
if (titleBar)
|
||||||
titleBar->icon = QIcon(":/resources/appicon.svg");
|
titleBar->icon = QIcon("theme:cockatrice.svg");
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ SET(oracle_SOURCES
|
||||||
../cockatrice/src/carddatabase.cpp
|
../cockatrice/src/carddatabase.cpp
|
||||||
../cockatrice/src/settingscache.cpp
|
../cockatrice/src/settingscache.cpp
|
||||||
../cockatrice/src/shortcutssettings.cpp
|
../cockatrice/src/shortcutssettings.cpp
|
||||||
|
../cockatrice/src/thememanager.cpp
|
||||||
../cockatrice/src/qt-json/json.cpp
|
../cockatrice/src/qt-json/json.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,11 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "oraclewizard.h"
|
#include "oraclewizard.h"
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
|
#include "thememanager.h"
|
||||||
|
|
||||||
QTranslator *translator, *qtTranslator;
|
QTranslator *translator, *qtTranslator;
|
||||||
SettingsCache *settingsCache;
|
SettingsCache *settingsCache;
|
||||||
|
ThemeManager *themeManager;
|
||||||
|
|
||||||
const QString translationPrefix = "oracle";
|
const QString translationPrefix = "oracle";
|
||||||
#ifdef TRANSLATION_PATH
|
#ifdef TRANSLATION_PATH
|
||||||
|
@ -51,6 +53,7 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
settingsCache = new SettingsCache;
|
settingsCache = new SettingsCache;
|
||||||
|
themeManager = new ThemeManager;
|
||||||
|
|
||||||
qtTranslator = new QTranslator;
|
qtTranslator = new QTranslator;
|
||||||
translator = new QTranslator;
|
translator = new QTranslator;
|
||||||
|
@ -58,7 +61,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
OracleWizard wizard;
|
OracleWizard wizard;
|
||||||
|
|
||||||
QIcon icon(":/resources/appicon.svg");
|
QIcon icon("theme:appicon.svg");
|
||||||
wizard.setWindowIcon(icon);
|
wizard.setWindowIcon(icon);
|
||||||
|
|
||||||
wizard.show();
|
wizard.show();
|
||||||
|
|
22
themes/CMakeLists.txt
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# CMakeLists for themes directory
|
||||||
|
#
|
||||||
|
# add themes subfolders
|
||||||
|
|
||||||
|
SET(defthemes
|
||||||
|
Default
|
||||||
|
Fabric
|
||||||
|
Leather
|
||||||
|
Plasma
|
||||||
|
VelvetMarble
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
if(APPLE)
|
||||||
|
INSTALL(DIRECTORY ${defthemes} DESTINATION cockatrice.app/Contents/Resources/themes/)
|
||||||
|
else()
|
||||||
|
# Assume linux
|
||||||
|
INSTALL(DIRECTORY ${defthemes} DESTINATION share/cockatrice/themes/)
|
||||||
|
endif()
|
||||||
|
elseif(WIN32)
|
||||||
|
INSTALL(DIRECTORY ${defthemes} DESTINATION themes/)
|
||||||
|
endif()
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 313 KiB |
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 165 KiB |