Merge branch 'master' into Refactor-settings
Conflicts: oracle/CMakeLists.txt
|
@ -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>
|
||||||
|
@ -624,7 +626,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -654,15 +656,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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -790,7 +792,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;
|
||||||
|
|
|
@ -18,9 +18,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:"));
|
||||||
|
@ -33,7 +33,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);
|
||||||
|
|
||||||
|
|
|
@ -46,19 +46,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();
|
||||||
|
|
|
@ -25,6 +25,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"
|
||||||
|
@ -254,67 +255,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)));
|
||||||
|
@ -359,7 +316,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);
|
||||||
|
@ -367,14 +324,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"));
|
||||||
|
@ -389,86 +349,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());
|
||||||
|
@ -638,10 +518,10 @@ MessagesSettingsPage::MessagesSettingsPage()
|
||||||
messageList->addItem(settingsCache->messages().getMessageAt(i));
|
messageList->addItem(settingsCache->messages().getMessageAt(i));
|
||||||
|
|
||||||
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;
|
||||||
|
@ -751,7 +631,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)));
|
||||||
|
@ -888,37 +768,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:
|
||||||
|
|
|
@ -39,6 +39,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"
|
||||||
|
@ -51,7 +52,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
|
||||||
|
@ -146,6 +147,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;
|
||||||
|
@ -213,13 +215,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"
|
||||||
|
@ -68,25 +69,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);
|
||||||
|
|
|
@ -1445,7 +1445,7 @@ public:
|
||||||
lbl_MainWindow_aFullScreen->setText(QApplication::translate("shortcutsTab", "Full screen", 0));
|
lbl_MainWindow_aFullScreen->setText(QApplication::translate("shortcutsTab", "Full screen", 0));
|
||||||
lbl_MainWindow_aSettings->setText(QApplication::translate("shortcutsTab", "Settings", 0));
|
lbl_MainWindow_aSettings->setText(QApplication::translate("shortcutsTab", "Settings", 0));
|
||||||
lbl_MainWindow_aCheckCardUpdates->setText(QApplication::translate("shortcutsTab", "Check for card updates", 0));
|
lbl_MainWindow_aCheckCardUpdates->setText(QApplication::translate("shortcutsTab", "Check for card updates", 0));
|
||||||
lbl_MainWindow_aDisconnect->setText(QApplication::translate("shortcutsTab", "Diconnect", 0));
|
lbl_MainWindow_aDisconnect->setText(QApplication::translate("shortcutsTab", "Disconnect", 0));
|
||||||
lbl_MainWindow_aExit->setText(QApplication::translate("shortcutsTab", "Exit", 0));
|
lbl_MainWindow_aExit->setText(QApplication::translate("shortcutsTab", "Exit", 0));
|
||||||
groupBox_2->setTitle(QApplication::translate("shortcutsTab", "Deck Editor", 0));
|
groupBox_2->setTitle(QApplication::translate("shortcutsTab", "Deck Editor", 0));
|
||||||
lbl_TabDeckEditor_aAnalyzeDeck->setText(QApplication::translate("shortcutsTab", "Analyze deck", 0));
|
lbl_TabDeckEditor_aAnalyzeDeck->setText(QApplication::translate("shortcutsTab", "Analyze deck", 0));
|
||||||
|
@ -1497,7 +1497,7 @@ public:
|
||||||
lbl_Player_IncP->setText(QApplication::translate("shortcutsTab", "Add (+1/+0)", 0));
|
lbl_Player_IncP->setText(QApplication::translate("shortcutsTab", "Add (+1/+0)", 0));
|
||||||
groupBox_8->setTitle(QApplication::translate("shortcutsTab", "Game Phases", 0));
|
groupBox_8->setTitle(QApplication::translate("shortcutsTab", "Game Phases", 0));
|
||||||
lbl_TabGame_phase0->setText(QApplication::translate("shortcutsTab", "Untap", 0));
|
lbl_TabGame_phase0->setText(QApplication::translate("shortcutsTab", "Untap", 0));
|
||||||
lbl_TabGame_phase1->setText(QApplication::translate("shortcutsTab", "Unkeep", 0));
|
lbl_TabGame_phase1->setText(QApplication::translate("shortcutsTab", "Upkeep", 0));
|
||||||
lbl_TabGame_phase2->setText(QApplication::translate("shortcutsTab", "Draw", 0));
|
lbl_TabGame_phase2->setText(QApplication::translate("shortcutsTab", "Draw", 0));
|
||||||
lbl_TabGame_phase3->setText(QApplication::translate("shortcutsTab", "Main 1", 0));
|
lbl_TabGame_phase3->setText(QApplication::translate("shortcutsTab", "Main 1", 0));
|
||||||
lbl_TabGame_phase4->setText(QApplication::translate("shortcutsTab", "Start combat", 0));
|
lbl_TabGame_phase4->setText(QApplication::translate("shortcutsTab", "Start combat", 0));
|
||||||
|
|
|
@ -138,11 +138,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();
|
||||||
|
@ -301,39 +297,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)
|
||||||
|
|
|
@ -30,11 +30,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();
|
||||||
|
@ -61,8 +57,7 @@ private:
|
||||||
|
|
||||||
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;
|
||||||
|
@ -127,11 +122,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; }
|
||||||
|
@ -207,11 +198,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");
|
||||||
}
|
}
|
||||||
|
|
|
@ -773,87 +773,92 @@ This is only saved for moderators and cannot be seen by the banned person.</sour
|
||||||
<context>
|
<context>
|
||||||
<name>DlgCreateGame</name>
|
<name>DlgCreateGame</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="24"/>
|
<location filename="../src/dlg_creategame.cpp" line="25"/>
|
||||||
<source>&Description:</source>
|
<source>&Description:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="54"/>
|
<location filename="../src/dlg_creategame.cpp" line="56"/>
|
||||||
<source>&Password:</source>
|
<source>&Password:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="29"/>
|
<location filename="../src/dlg_creategame.cpp" line="30"/>
|
||||||
<source>P&layers:</source>
|
<source>P&layers:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="51"/>
|
<location filename="../src/dlg_creategame.cpp" line="24"/>
|
||||||
|
<source>Re&member settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/dlg_creategame.cpp" line="53"/>
|
||||||
<source>Game type</source>
|
<source>Game type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="58"/>
|
<location filename="../src/dlg_creategame.cpp" line="60"/>
|
||||||
<source>Only &buddies can join</source>
|
<source>Only &buddies can join</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="59"/>
|
<location filename="../src/dlg_creategame.cpp" line="61"/>
|
||||||
<source>Only &registered users can join</source>
|
<source>Only &registered users can join</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="74"/>
|
<location filename="../src/dlg_creategame.cpp" line="76"/>
|
||||||
<source>Joining restrictions</source>
|
<source>Joining restrictions</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="77"/>
|
<location filename="../src/dlg_creategame.cpp" line="79"/>
|
||||||
<source>&Spectators can watch</source>
|
<source>&Spectators can watch</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="80"/>
|
<location filename="../src/dlg_creategame.cpp" line="82"/>
|
||||||
<source>Spectators &need a password to watch</source>
|
<source>Spectators &need a password to watch</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="82"/>
|
<location filename="../src/dlg_creategame.cpp" line="84"/>
|
||||||
<source>Spectators can see &hands</source>
|
<source>Spectators can see &hands</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="81"/>
|
<location filename="../src/dlg_creategame.cpp" line="83"/>
|
||||||
<source>Spectators can &chat</source>
|
<source>Spectators can &chat</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="88"/>
|
<location filename="../src/dlg_creategame.cpp" line="90"/>
|
||||||
<source>Spectators</source>
|
<source>Spectators</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="129"/>
|
<location filename="../src/dlg_creategame.cpp" line="136"/>
|
||||||
<source>&Clear</source>
|
<source>&Clear</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="135"/>
|
<location filename="../src/dlg_creategame.cpp" line="142"/>
|
||||||
<source>Create game</source>
|
<source>Create game</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="177"/>
|
<location filename="../src/dlg_creategame.cpp" line="185"/>
|
||||||
<source>Game information</source>
|
<source>Game information</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="251"/>
|
<location filename="../src/dlg_creategame.cpp" line="261"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/dlg_creategame.cpp" line="251"/>
|
<location filename="../src/dlg_creategame.cpp" line="261"/>
|
||||||
<source>Server error.</source>
|
<source>Server error.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -1782,48 +1787,48 @@ Would you like to change your database location setting?</source>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="75"/>
|
<location filename="../src/window_main.cpp" line="81"/>
|
||||||
<source>There are too many concurrent connections from your address.</source>
|
<source>There are too many concurrent connections from your address.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="86"/>
|
<location filename="../src/window_main.cpp" line="92"/>
|
||||||
<source>Scheduled server shutdown.</source>
|
<source>Scheduled server shutdown.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="77"/>
|
<location filename="../src/window_main.cpp" line="83"/>
|
||||||
<source>Banned by moderator</source>
|
<source>Banned by moderator</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="79"/>
|
<location filename="../src/window_main.cpp" line="85"/>
|
||||||
<source>Expected end time: %1</source>
|
<source>Expected end time: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="81"/>
|
<location filename="../src/window_main.cpp" line="87"/>
|
||||||
<source>This ban lasts indefinitely.</source>
|
<source>This ban lasts indefinitely.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="90"/>
|
<location filename="../src/window_main.cpp" line="97"/>
|
||||||
<source>Connection closed</source>
|
<source>Connection closed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="90"/>
|
<location filename="../src/window_main.cpp" line="97"/>
|
||||||
<source>The server has terminated your connection.
|
<source>The server has terminated your connection.
|
||||||
Reason: %1</source>
|
Reason: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="97"/>
|
<location filename="../src/window_main.cpp" line="104"/>
|
||||||
<source>Scheduled server shutdown</source>
|
<source>Scheduled server shutdown</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../src/window_main.cpp" line="95"/>
|
<location filename="../src/window_main.cpp" line="102"/>
|
||||||
<source>The server is going to be restarted in %n minute(s).
|
<source>The server is going to be restarted in %n minute(s).
|
||||||
All running games will be lost.
|
All running games will be lost.
|
||||||
Reason for shutdown: %1</source>
|
Reason for shutdown: %1</source>
|
||||||
|
@ -1833,473 +1838,478 @@ Reason for shutdown: %1</source>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="182"/>
|
<location filename="../src/window_main.cpp" line="189"/>
|
||||||
<source>Number of players</source>
|
<source>Number of players</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="182"/>
|
<location filename="../src/window_main.cpp" line="189"/>
|
||||||
<source>Please enter the number of players.</source>
|
<source>Please enter the number of players.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="192"/>
|
<location filename="../src/window_main.cpp" line="199"/>
|
||||||
<location filename="../src/window_main.cpp" line="198"/>
|
<location filename="../src/window_main.cpp" line="205"/>
|
||||||
<source>Player %1</source>
|
<source>Player %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="210"/>
|
<location filename="../src/window_main.cpp" line="217"/>
|
||||||
<source>Load replay</source>
|
<source>Load replay</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="265"/>
|
<location filename="../src/window_main.cpp" line="272"/>
|
||||||
<source>About Cockatrice</source>
|
<source>About Cockatrice</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="267"/>
|
<location filename="../src/window_main.cpp" line="274"/>
|
||||||
<source>Version %1</source>
|
<source>Version %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="273"/>
|
<location filename="../src/window_main.cpp" line="280"/>
|
||||||
<source>Translators:</source>
|
<source>Translators:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="268"/>
|
<location filename="../src/window_main.cpp" line="275"/>
|
||||||
<source>Project Manager:</source>
|
<source>Project Manager:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="74"/>
|
<location filename="../src/window_main.cpp" line="80"/>
|
||||||
<source>The server has reached its maximum user capacity, please check back later.</source>
|
<source>The server has reached its maximum user capacity, please check back later.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="87"/>
|
<location filename="../src/window_main.cpp" line="93"/>
|
||||||
<location filename="../src/window_main.cpp" line="345"/>
|
<location filename="../src/window_main.cpp" line="352"/>
|
||||||
<source>Invalid username.</source>
|
<source>Invalid username.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="134"/>
|
<location filename="../src/window_main.cpp" line="94"/>
|
||||||
<location filename="../src/window_main.cpp" line="144"/>
|
<source>You have been logged out due to logging in at another location.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/window_main.cpp" line="141"/>
|
||||||
|
<location filename="../src/window_main.cpp" line="151"/>
|
||||||
<source>Success</source>
|
<source>Success</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="134"/>
|
<location filename="../src/window_main.cpp" line="141"/>
|
||||||
<source>Registration accepted.
|
<source>Registration accepted.
|
||||||
Will now login.</source>
|
Will now login.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="144"/>
|
<location filename="../src/window_main.cpp" line="151"/>
|
||||||
<source>Account activation accepted.
|
<source>Account activation accepted.
|
||||||
Will now login.</source>
|
Will now login.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="269"/>
|
<location filename="../src/window_main.cpp" line="276"/>
|
||||||
<source>Past Project Managers:</source>
|
<source>Past Project Managers:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="270"/>
|
<location filename="../src/window_main.cpp" line="277"/>
|
||||||
<source>Developers:</source>
|
<source>Developers:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="271"/>
|
<location filename="../src/window_main.cpp" line="278"/>
|
||||||
<source>Our Developers</source>
|
<source>Our Developers</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="272"/>
|
<location filename="../src/window_main.cpp" line="279"/>
|
||||||
<source>Help Develop!</source>
|
<source>Help Develop!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="274"/>
|
<location filename="../src/window_main.cpp" line="281"/>
|
||||||
<source>Recognition Page</source>
|
<source>Recognition Page</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="275"/>
|
<location filename="../src/window_main.cpp" line="282"/>
|
||||||
<source>Help Translate!</source>
|
<source>Help Translate!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="276"/>
|
<location filename="../src/window_main.cpp" line="283"/>
|
||||||
<source>Support:</source>
|
<source>Support:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="277"/>
|
<location filename="../src/window_main.cpp" line="284"/>
|
||||||
<source>Report an Issue</source>
|
<source>Report an Issue</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="285"/>
|
<location filename="../src/window_main.cpp" line="292"/>
|
||||||
<location filename="../src/window_main.cpp" line="293"/>
|
<location filename="../src/window_main.cpp" line="300"/>
|
||||||
<location filename="../src/window_main.cpp" line="296"/>
|
<location filename="../src/window_main.cpp" line="303"/>
|
||||||
<location filename="../src/window_main.cpp" line="307"/>
|
<location filename="../src/window_main.cpp" line="314"/>
|
||||||
<location filename="../src/window_main.cpp" line="311"/>
|
<location filename="../src/window_main.cpp" line="318"/>
|
||||||
<location filename="../src/window_main.cpp" line="315"/>
|
<location filename="../src/window_main.cpp" line="322"/>
|
||||||
<location filename="../src/window_main.cpp" line="320"/>
|
<location filename="../src/window_main.cpp" line="327"/>
|
||||||
<location filename="../src/window_main.cpp" line="323"/>
|
<location filename="../src/window_main.cpp" line="330"/>
|
||||||
<location filename="../src/window_main.cpp" line="337"/>
|
<location filename="../src/window_main.cpp" line="344"/>
|
||||||
<location filename="../src/window_main.cpp" line="405"/>
|
<location filename="../src/window_main.cpp" line="412"/>
|
||||||
<location filename="../src/window_main.cpp" line="409"/>
|
|
||||||
<location filename="../src/window_main.cpp" line="413"/>
|
|
||||||
<location filename="../src/window_main.cpp" line="416"/>
|
<location filename="../src/window_main.cpp" line="416"/>
|
||||||
|
<location filename="../src/window_main.cpp" line="420"/>
|
||||||
<location filename="../src/window_main.cpp" line="423"/>
|
<location filename="../src/window_main.cpp" line="423"/>
|
||||||
<location filename="../src/window_main.cpp" line="430"/>
|
<location filename="../src/window_main.cpp" line="430"/>
|
||||||
<location filename="../src/window_main.cpp" line="437"/>
|
<location filename="../src/window_main.cpp" line="437"/>
|
||||||
<location filename="../src/window_main.cpp" line="439"/>
|
<location filename="../src/window_main.cpp" line="444"/>
|
||||||
<location filename="../src/window_main.cpp" line="728"/>
|
<location filename="../src/window_main.cpp" line="446"/>
|
||||||
<location filename="../src/window_main.cpp" line="764"/>
|
<location filename="../src/window_main.cpp" line="735"/>
|
||||||
|
<location filename="../src/window_main.cpp" line="771"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="285"/>
|
<location filename="../src/window_main.cpp" line="292"/>
|
||||||
<source>Server timeout</source>
|
<source>Server timeout</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="293"/>
|
<location filename="../src/window_main.cpp" line="300"/>
|
||||||
<source>Incorrect username or password. Please check your authentication information and try again.</source>
|
<source>Incorrect username or password. Please check your authentication information and try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="296"/>
|
<location filename="../src/window_main.cpp" line="303"/>
|
||||||
<source>There is already an active session using this user name.
|
<source>There is already an active session using this user name.
|
||||||
Please close that session first and re-login.</source>
|
Please close that session first and re-login.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="301"/>
|
<location filename="../src/window_main.cpp" line="308"/>
|
||||||
<location filename="../src/window_main.cpp" line="399"/>
|
<location filename="../src/window_main.cpp" line="406"/>
|
||||||
<source>You are banned until %1.</source>
|
<source>You are banned until %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="303"/>
|
<location filename="../src/window_main.cpp" line="310"/>
|
||||||
<location filename="../src/window_main.cpp" line="401"/>
|
<location filename="../src/window_main.cpp" line="408"/>
|
||||||
<source>You are banned indefinitely.</source>
|
<source>You are banned indefinitely.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="315"/>
|
<location filename="../src/window_main.cpp" line="322"/>
|
||||||
<source>This server requires user registration. Do you want to register now?</source>
|
<source>This server requires user registration. Do you want to register now?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="320"/>
|
<location filename="../src/window_main.cpp" line="327"/>
|
||||||
<source>This server requires client ID's. Your client is either failing to generate an ID or you are running a modified client.
|
<source>This server requires client ID's. Your client is either failing to generate an ID or you are running a modified client.
|
||||||
Please close and reopen your client to try again.</source>
|
Please close and reopen your client to try again.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="323"/>
|
<location filename="../src/window_main.cpp" line="330"/>
|
||||||
<source>An internal error has occurred, please try closing and reopening your client and try again. If the error persists try updating your client to the most recent build and if need be contact your software provider.</source>
|
<source>An internal error has occurred, please try closing and reopening your client and try again. If the error persists try updating your client to the most recent build and if need be contact your software provider.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="327"/>
|
<location filename="../src/window_main.cpp" line="334"/>
|
||||||
<source>Account activation</source>
|
<source>Account activation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="337"/>
|
<location filename="../src/window_main.cpp" line="344"/>
|
||||||
<source>Unknown login error: %1</source>
|
<source>Unknown login error: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="337"/>
|
<location filename="../src/window_main.cpp" line="344"/>
|
||||||
<location filename="../src/window_main.cpp" line="416"/>
|
<location filename="../src/window_main.cpp" line="423"/>
|
||||||
<source>
|
<source>
|
||||||
This usually means that your client version is out of date, and the server sent a reply your client doesn't understand.</source>
|
This usually means that your client version is out of date, and the server sent a reply your client doesn't understand.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="349"/>
|
<location filename="../src/window_main.cpp" line="356"/>
|
||||||
<source>Your username must respect these rules:</source>
|
<source>Your username must respect these rules:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="351"/>
|
<location filename="../src/window_main.cpp" line="358"/>
|
||||||
<source>is %1 - %2 characters long</source>
|
<source>is %1 - %2 characters long</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="352"/>
|
<location filename="../src/window_main.cpp" line="359"/>
|
||||||
<source>can %1 contain lowercase characters</source>
|
<source>can %1 contain lowercase characters</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="352"/>
|
<location filename="../src/window_main.cpp" line="359"/>
|
||||||
<location filename="../src/window_main.cpp" line="353"/>
|
<location filename="../src/window_main.cpp" line="360"/>
|
||||||
<location filename="../src/window_main.cpp" line="354"/>
|
<location filename="../src/window_main.cpp" line="361"/>
|
||||||
<location filename="../src/window_main.cpp" line="367"/>
|
<location filename="../src/window_main.cpp" line="374"/>
|
||||||
<source>NOT</source>
|
<source>NOT</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="353"/>
|
<location filename="../src/window_main.cpp" line="360"/>
|
||||||
<source>can %1 contain uppercase characters</source>
|
<source>can %1 contain uppercase characters</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="354"/>
|
<location filename="../src/window_main.cpp" line="361"/>
|
||||||
<source>can %1 contain numeric characters</source>
|
<source>can %1 contain numeric characters</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="358"/>
|
<location filename="../src/window_main.cpp" line="365"/>
|
||||||
<source>can contain the following punctuation: %1</source>
|
<source>can contain the following punctuation: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="367"/>
|
<location filename="../src/window_main.cpp" line="374"/>
|
||||||
<source>first character can %1 be a punctuation mark</source>
|
<source>first character can %1 be a punctuation mark</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="372"/>
|
<location filename="../src/window_main.cpp" line="379"/>
|
||||||
<source>You may only use A-Z, a-z, 0-9, _, ., and - in your username.</source>
|
<source>You may only use A-Z, a-z, 0-9, _, ., and - in your username.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="382"/>
|
<location filename="../src/window_main.cpp" line="389"/>
|
||||||
<location filename="../src/window_main.cpp" line="385"/>
|
<location filename="../src/window_main.cpp" line="392"/>
|
||||||
<location filename="../src/window_main.cpp" line="388"/>
|
<location filename="../src/window_main.cpp" line="395"/>
|
||||||
<location filename="../src/window_main.cpp" line="391"/>
|
<location filename="../src/window_main.cpp" line="398"/>
|
||||||
<location filename="../src/window_main.cpp" line="394"/>
|
<location filename="../src/window_main.cpp" line="401"/>
|
||||||
<source>Registration denied</source>
|
<source>Registration denied</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="382"/>
|
<location filename="../src/window_main.cpp" line="389"/>
|
||||||
<source>Registration is currently disabled on this server</source>
|
<source>Registration is currently disabled on this server</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="385"/>
|
<location filename="../src/window_main.cpp" line="392"/>
|
||||||
<source>There is already an existing account with the same user name.</source>
|
<source>There is already an existing account with the same user name.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="388"/>
|
<location filename="../src/window_main.cpp" line="395"/>
|
||||||
<source>It's mandatory to specify a valid email address when registering.</source>
|
<source>It's mandatory to specify a valid email address when registering.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="391"/>
|
<location filename="../src/window_main.cpp" line="398"/>
|
||||||
<source>Too many registration attempts from your IP address.</source>
|
<source>Too many registration attempts from your IP address.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="394"/>
|
<location filename="../src/window_main.cpp" line="401"/>
|
||||||
<source>Password too short.</source>
|
<source>Password too short.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="413"/>
|
<location filename="../src/window_main.cpp" line="420"/>
|
||||||
<source>Registration failed for a technical problem on the server.</source>
|
<source>Registration failed for a technical problem on the server.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="416"/>
|
<location filename="../src/window_main.cpp" line="423"/>
|
||||||
<source>Unknown registration error: %1</source>
|
<source>Unknown registration error: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="423"/>
|
<location filename="../src/window_main.cpp" line="430"/>
|
||||||
<source>Account activation failed</source>
|
<source>Account activation failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="430"/>
|
<location filename="../src/window_main.cpp" line="437"/>
|
||||||
<source>Socket error: %1</source>
|
<source>Socket error: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="437"/>
|
<location filename="../src/window_main.cpp" line="444"/>
|
||||||
<source>You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
|
<source>You are trying to connect to an obsolete server. Please downgrade your Cockatrice version or connect to a suitable server.
|
||||||
Local version is %1, remote version is %2.</source>
|
Local version is %1, remote version is %2.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="439"/>
|
<location filename="../src/window_main.cpp" line="446"/>
|
||||||
<source>Your Cockatrice client is obsolete. Please update your Cockatrice version.
|
<source>Your Cockatrice client is obsolete. Please update your Cockatrice version.
|
||||||
Local version is %1, remote version is %2.</source>
|
Local version is %1, remote version is %2.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="445"/>
|
<location filename="../src/window_main.cpp" line="452"/>
|
||||||
<source>Connecting to %1...</source>
|
<source>Connecting to %1...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="446"/>
|
<location filename="../src/window_main.cpp" line="453"/>
|
||||||
<source>Registering to %1 as %2...</source>
|
<source>Registering to %1 as %2...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="447"/>
|
<location filename="../src/window_main.cpp" line="454"/>
|
||||||
<source>Disconnected</source>
|
<source>Disconnected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="448"/>
|
<location filename="../src/window_main.cpp" line="455"/>
|
||||||
<source>Connected, logging in at %1</source>
|
<source>Connected, logging in at %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="458"/>
|
<location filename="../src/window_main.cpp" line="465"/>
|
||||||
<source>&Connect...</source>
|
<source>&Connect...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="459"/>
|
<location filename="../src/window_main.cpp" line="466"/>
|
||||||
<source>&Disconnect</source>
|
<source>&Disconnect</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="460"/>
|
<location filename="../src/window_main.cpp" line="467"/>
|
||||||
<source>Start &local game...</source>
|
<source>Start &local game...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="461"/>
|
<location filename="../src/window_main.cpp" line="468"/>
|
||||||
<source>&Watch replay...</source>
|
<source>&Watch replay...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="462"/>
|
<location filename="../src/window_main.cpp" line="469"/>
|
||||||
<source>&Deck editor</source>
|
<source>&Deck editor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="463"/>
|
<location filename="../src/window_main.cpp" line="470"/>
|
||||||
<source>&Full screen</source>
|
<source>&Full screen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="464"/>
|
<location filename="../src/window_main.cpp" line="471"/>
|
||||||
<source>&Register to server...</source>
|
<source>&Register to server...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="465"/>
|
<location filename="../src/window_main.cpp" line="472"/>
|
||||||
<source>&Settings...</source>
|
<source>&Settings...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="466"/>
|
<location filename="../src/window_main.cpp" line="473"/>
|
||||||
<location filename="../src/window_main.cpp" line="634"/>
|
<location filename="../src/window_main.cpp" line="641"/>
|
||||||
<source>&Exit</source>
|
<source>&Exit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="469"/>
|
<location filename="../src/window_main.cpp" line="476"/>
|
||||||
<source>A&ctions</source>
|
<source>A&ctions</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="471"/>
|
<location filename="../src/window_main.cpp" line="478"/>
|
||||||
<source>&Cockatrice</source>
|
<source>&Cockatrice</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="474"/>
|
<location filename="../src/window_main.cpp" line="481"/>
|
||||||
<source>&About Cockatrice</source>
|
<source>&About Cockatrice</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="475"/>
|
<location filename="../src/window_main.cpp" line="482"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="476"/>
|
<location filename="../src/window_main.cpp" line="483"/>
|
||||||
<source>Check for card updates...</source>
|
<source>Check for card updates...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="694"/>
|
<location filename="../src/window_main.cpp" line="701"/>
|
||||||
<source>A card database update is already running.</source>
|
<source>A card database update is already running.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="728"/>
|
<location filename="../src/window_main.cpp" line="735"/>
|
||||||
<source>Unable to run the card database updater: </source>
|
<source>Unable to run the card database updater: </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="764"/>
|
<location filename="../src/window_main.cpp" line="771"/>
|
||||||
<source>The card database updater exited with an error: %1</source>
|
<source>The card database updater exited with an error: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="772"/>
|
<location filename="../src/window_main.cpp" line="779"/>
|
||||||
<source>Update completed successfully. Cockatrice will now reload the card database.</source>
|
<source>Update completed successfully. Cockatrice will now reload the card database.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="694"/>
|
<location filename="../src/window_main.cpp" line="701"/>
|
||||||
<location filename="../src/window_main.cpp" line="772"/>
|
<location filename="../src/window_main.cpp" line="779"/>
|
||||||
<source>Information</source>
|
<source>Information</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="278"/>
|
<location filename="../src/window_main.cpp" line="285"/>
|
||||||
<source>Troubleshooting</source>
|
<source>Troubleshooting</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="279"/>
|
<location filename="../src/window_main.cpp" line="286"/>
|
||||||
<source>F.A.Q.</source>
|
<source>F.A.Q.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="327"/>
|
<location filename="../src/window_main.cpp" line="334"/>
|
||||||
<source>Your account has not been activated yet.
|
<source>Your account has not been activated yet.
|
||||||
You need to provide the activation token received in the activation email</source>
|
You need to provide the activation token received in the activation email</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="741"/>
|
<location filename="../src/window_main.cpp" line="748"/>
|
||||||
<source>failed to start.</source>
|
<source>failed to start.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="744"/>
|
<location filename="../src/window_main.cpp" line="751"/>
|
||||||
<source>crashed.</source>
|
<source>crashed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="747"/>
|
<location filename="../src/window_main.cpp" line="754"/>
|
||||||
<source>timed out.</source>
|
<source>timed out.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="750"/>
|
<location filename="../src/window_main.cpp" line="757"/>
|
||||||
<source>write error.</source>
|
<source>write error.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="753"/>
|
<location filename="../src/window_main.cpp" line="760"/>
|
||||||
<source>read error.</source>
|
<source>read error.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="757"/>
|
<location filename="../src/window_main.cpp" line="764"/>
|
||||||
<source>unknown error.</source>
|
<source>unknown error.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -4141,37 +4151,37 @@ You need to provide the activation token received in the activation email</sourc
|
||||||
<context>
|
<context>
|
||||||
<name>QMenuBar</name>
|
<name>QMenuBar</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="515"/>
|
<location filename="../src/window_main.cpp" line="522"/>
|
||||||
<source>Services</source>
|
<source>Services</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="516"/>
|
<location filename="../src/window_main.cpp" line="523"/>
|
||||||
<source>Hide %1</source>
|
<source>Hide %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="517"/>
|
<location filename="../src/window_main.cpp" line="524"/>
|
||||||
<source>Hide Others</source>
|
<source>Hide Others</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="518"/>
|
<location filename="../src/window_main.cpp" line="525"/>
|
||||||
<source>Show All</source>
|
<source>Show All</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="519"/>
|
<location filename="../src/window_main.cpp" line="526"/>
|
||||||
<source>Preferences...</source>
|
<source>Preferences...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="520"/>
|
<location filename="../src/window_main.cpp" line="527"/>
|
||||||
<source>Quit %1</source>
|
<source>Quit %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="521"/>
|
<location filename="../src/window_main.cpp" line="528"/>
|
||||||
<source>About %1</source>
|
<source>About %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -4179,7 +4189,7 @@ You need to provide the activation token received in the activation email</sourc
|
||||||
<context>
|
<context>
|
||||||
<name>QObject</name>
|
<name>QObject</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/window_main.cpp" line="212"/>
|
<location filename="../src/window_main.cpp" line="219"/>
|
||||||
<source>Cockatrice replays (*.cor)</source>
|
<source>Cockatrice replays (*.cor)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -5514,11 +5524,6 @@ Please enter a name:</source>
|
||||||
<source>Check for card updates</source>
|
<source>Check for card updates</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1448"/>
|
|
||||||
<source>Diconnect</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1449"/>
|
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1449"/>
|
||||||
<source>Exit</source>
|
<source>Exit</source>
|
||||||
|
@ -5735,9 +5740,14 @@ Please enter a name:</source>
|
||||||
<source>Untap</source>
|
<source>Untap</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1448"/>
|
||||||
|
<source>Disconnect</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1500"/>
|
<location filename="../src/sequenceEdit/ui_shortcutstab.h" line="1500"/>
|
||||||
<source>Unkeep</source>
|
<source>Upkeep</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
|