Qt: Add zoom and column resize actions.

Plumb signals and slots for changing the text size in the main window.
Remove the bold font code from WiresharkApplication. It was only used in
ByteViewText. Adjust the icons a bit.

Bug: When we change the font preferences the packet list stops drawing
cached strings. I haven't been able to track down the cause.

Change-Id: I609d740c9f26265628fa4b7de1b75b0e56651387
Reviewed-on: https://code.wireshark.org/review/4269
Reviewed-by: Gerald Combs <gerald@wireshark.org>
This commit is contained in:
Gerald Combs 2014-09-23 13:35:10 -07:00
parent 3a85a5eb96
commit 31e86998fb
36 changed files with 337 additions and 177 deletions

View File

@ -24,6 +24,10 @@
<file>toolbar/16x16/x-capture-start.png</file>
<file>toolbar/16x16/x-capture-stop.png</file>
<file>toolbar/16x16/x-colorize-packets.png</file>
<file>toolbar/16x16/x-resize-columns.png</file>
<file>toolbar/16x16/zoom-in.png</file>
<file>toolbar/16x16/zoom-original.png</file>
<file>toolbar/16x16/zoom-out.png</file>
<file>toolbar/24x24/edit-find.png</file>
<file>toolbar/24x24/go-first.png</file>
<file>toolbar/24x24/go-jump.png</file>
@ -39,5 +43,9 @@
<file>toolbar/24x24/x-capture-start.png</file>
<file>toolbar/24x24/x-capture-stop.png</file>
<file>toolbar/24x24/x-colorize-packets.png</file>
<file>toolbar/24x24/x-resize-columns.png</file>
<file>toolbar/24x24/zoom-in.png</file>
<file>toolbar/24x24/zoom-original.png</file>
<file>toolbar/24x24/zoom-out.png</file>
</qresource>
</RCC>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 619 B

View File

@ -60,7 +60,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -127,7 +127,7 @@
style="fill:#204a87;stroke:#888a85;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:type="star"
style="fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:3.77817893;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#3465a4;fill-opacity:1;stroke:#3465a4;stroke-width:3.77817893000000016;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path4292"
sodipodi:sides="3"
sodipodi:cx="28"
@ -163,7 +163,7 @@
sodipodi:cx="28"
sodipodi:sides="3"
id="path4590"
style="fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:3.77817893;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#3465a4;fill-opacity:1;stroke:#3465a4;stroke-width:3.77817893000000016;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="star"
inkscape:transform-center-y="-3.5440869e-05" />
</g>

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

After

Width:  |  Height:  |  Size: 599 B

View File

@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="zoom-in.svg"
inkscape:export-filename="edit-find.png"
inkscape:export-filename="zoom-in.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
@ -35,14 +35,14 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32.125"
inkscape:zoom="30.9375"
inkscape:cx="8"
inkscape:cy="8"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-width="1239"
inkscape:window-height="664"
inkscape:window-x="132"
inkscape:window-y="882"
inkscape:window-maximized="0">
@ -102,15 +102,15 @@
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="7"
width="5"
height="1"
x="3"
x="4"
y="1042.3622" />
<rect
y="-7"
x="1039.3622"
x="1040.3622"
height="1"
width="7"
width="5"
id="rect3762"
style="fill:#2e3436;stroke:none"
transform="matrix(0,1,-1,0,0,0)" />

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 B

After

Width:  |  Height:  |  Size: 601 B

View File

@ -35,14 +35,14 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32.125"
inkscape:zoom="31.6875"
inkscape:cx="8"
inkscape:cy="8"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-width="1301"
inkscape:window-height="676"
inkscape:window-x="132"
inkscape:window-y="882"
inkscape:window-maximized="0">
@ -62,7 +62,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -102,15 +102,15 @@
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="7"
width="5"
height="1"
x="3"
x="4"
y="1041.3622" />
<rect
y="1043.3622"
x="3"
x="4"
height="1"
width="7"
width="5"
id="rect3816"
style="fill:#2e3436;stroke:none" />
</g>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 591 B

View File

@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="zoom-out.svg"
inkscape:export-filename="zoom-in.png"
inkscape:export-filename="zoom-out.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
@ -35,14 +35,14 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32.125"
inkscape:zoom="30.8125"
inkscape:cx="8"
inkscape:cy="8"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-width="1241"
inkscape:window-height="662"
inkscape:window-x="132"
inkscape:window-y="882"
inkscape:window-maximized="0">
@ -102,9 +102,9 @@
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="7"
width="5"
height="1"
x="3"
x="4"
y="1042.3622" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -58,10 +58,10 @@
inkscape:collect="always"
xlink:href="#linearGradient5075"
id="linearGradient5081"
x1="15"
y1="4"
x2="18"
y2="11.5"
x1="10"
y1="6.5"
x2="12.5"
y2="14"
gradientUnits="userSpaceOnUse" /></defs>
<path
fill="#FFFFFF"
@ -74,13 +74,13 @@
inkscape:guide-bbox="true"
inkscape:window-maximized="0"
inkscape:window-height="837"
inkscape:cy="11.54297"
inkscape:cx="15.291385"
inkscape:window-x="206"
inkscape:cy="12"
inkscape:cx="17.508885"
inkscape:window-x="0"
id="base"
inkscape:window-y="0"
inkscape:window-y="759"
showgrid="true"
inkscape:zoom="24.101265">
inkscape:zoom="27.833333">
<inkscape:grid
type="xygrid"

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

After

Width:  |  Height:  |  Size: 550 B

View File

@ -27,16 +27,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="23.291667"
inkscape:cx="11.248658"
inkscape:zoom="23.170984"
inkscape:cx="13.544453"
inkscape:cy="12"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1028"
inkscape:window-height="728"
inkscape:window-x="132"
inkscape:window-y="821"
inkscape:window-width="1278"
inkscape:window-height="725"
inkscape:window-x="98"
inkscape:window-y="800"
inkscape:window-maximized="0"
showguides="true"
inkscape:guide-bbox="true">
@ -140,12 +140,12 @@
inkscape:connector-curvature="0" />
<path
style="fill:#888a85;stroke:#888a85;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
d="m 12.5,1029.8622 c 0,21 0,21 0,21"
d="m 14.5,1029.8622 c 0,21 0,21 0,21"
id="path4546"
inkscape:connector-curvature="0" />
<path
sodipodi:type="star"
style="fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:3.77799654;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#3465a4;fill-opacity:1;stroke:#3465a4;stroke-width:3.77799654;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path4292"
sodipodi:sides="3"
sodipodi:cx="28"
@ -158,17 +158,17 @@
inkscape:rounded="1"
inkscape:randomized="0"
d="M 28,14 C 17.607695,14 17.607695,14 22.803847,5.0000001 28,-4 28,-4 33.196152,4.9999999 38.392305,14 38.392305,14 28,14 z"
transform="matrix(0,0.36782069,0.19047619,0,12.833333,1025.8965)"
transform="matrix(0,0.36782069,0.19047619,0,14.833333,1025.8965)"
inkscape:transform-center-x="0.35719799"
inkscape:transform-center-y="-3.6850305e-05" />
<path
inkscape:connector-curvature="0"
id="path4548"
d="m 5.4999996,1029.8604 c 0,21.0018 0,21.0018 0,21.0018"
d="m 6.4999994,1029.8604 c 0,21.0018 0,21.0018 0,21.0018"
style="fill:#888a85;stroke:#888a85;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:transform-center-x="-0.35719839"
transform="matrix(0,0.36781774,-0.19047619,0,5.1666667,1025.8956)"
transform="matrix(0,0.36781774,-0.19047619,0,6.1666667,1025.8956)"
d="M 28,14 C 17.607695,14 17.607695,14 22.803847,5.0000001 28,-4 28,-4 33.196152,4.9999999 38.392305,14 38.392305,14 28,14 z"
inkscape:randomized="0"
inkscape:rounded="1"
@ -181,7 +181,7 @@
sodipodi:cx="28"
sodipodi:sides="3"
id="path4550"
style="fill:#3465a4;fill-opacity:1;stroke:#204a87;stroke-width:3.7780118;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#3465a4;fill-opacity:1;stroke:#3465a4;stroke-width:3.7780118;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="star"
inkscape:transform-center-y="-4.3803627e-05" />
</g>

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 886 B

After

Width:  |  Height:  |  Size: 865 B

View File

@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="zoom-in.svg"
inkscape:export-filename="edit-find.png"
inkscape:export-filename="zoom-in.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
@ -35,16 +35,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="21.416667"
inkscape:cx="12"
inkscape:zoom="21.541667"
inkscape:cx="11.46994"
inkscape:cy="12"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-x="285"
inkscape:window-y="790"
inkscape:window-width="1147"
inkscape:window-height="686"
inkscape:window-x="1837"
inkscape:window-y="214"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
@ -72,47 +72,52 @@
id="layer1"
transform="translate(0,-1028.3622)">
<g
id="g3759"
transform="matrix(0.67307799,-0.67353235,0.67334032,0.67379466,-697.89982,353.9867)">
id="g3043"
transform="matrix(0.70712074,-0.70710678,0.70712074,0.70710678,-735.46474,319.5415)">
<rect
ry="1.0495892"
rx="1.0504072"
y="1042.3622"
x="16.5"
height="9"
width="3"
transform="matrix(0.99999995,-3.1484358e-4,-3.6143743e-4,0.99999993,0,0)"
ry="0.99980539"
rx="1.0001751"
y="1042.9893"
x="17.949001"
height="7.9997311"
width="2.8565922"
id="rect2987"
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:1.04999804;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999022;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path3757"
d="m 18,1030.3622 c 0,13 0,13 0,13"
style="fill:none;stroke:#2e3436;stroke-width:2.09999609;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="M 19.004176,1030.9788 C 19,1043.3622 19,1043.3622 19,1043.3622"
style="fill:none;stroke:#2e3436;stroke-width:1.99998021;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<path
sodipodi:type="arc"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.59280384;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.67774409;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2985"
sodipodi:cx="7"
sodipodi:cy="6.5"
sodipodi:rx="5"
sodipodi:ry="4.5"
d="m 12,6.5 a 5,4.5 0 1 1 -10,0 5,4.5 0 1 1 10,0 z"
transform="matrix(1.3854093,-0.80046638,0.88874043,1.5404982,-5.9746781,1033.4462)" />
transform="matrix(1.2122332,-0.69988316,0.77764788,1.3469257,-4.0403435,1034.0064)" />
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="11"
width="7"
height="1"
x="4"
y="1037.3622" />
x="6"
y="1037.3622"
rx="0.5"
ry="0.5" />
<rect
y="-10"
x="1032.3622"
x="1034.3622"
height="1"
width="11.000004"
width="7.0000296"
id="rect3762"
style="fill:#2e3436;stroke:none"
transform="matrix(0,1,-1,0,0,0)" />
transform="matrix(0,1,-1,0,0,0)"
rx="0.5"
ry="0.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 900 B

After

Width:  |  Height:  |  Size: 849 B

View File

@ -35,16 +35,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="21.416667"
inkscape:zoom="22.041667"
inkscape:cx="12"
inkscape:cy="12"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-x="285"
inkscape:window-y="790"
inkscape:window-width="1255"
inkscape:window-height="698"
inkscape:window-x="87"
inkscape:window-y="784"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
@ -62,7 +62,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -72,46 +72,51 @@
id="layer1"
transform="translate(0,-1028.3622)">
<g
id="g3759"
transform="matrix(0.67307799,-0.67353235,0.67334032,0.67379466,-697.89982,353.9867)">
id="g3043"
transform="matrix(0.70712074,-0.70710678,0.70712074,0.70710678,-735.46474,319.5415)">
<rect
ry="1.0495892"
rx="1.0504072"
y="1042.3622"
x="16.5"
height="9"
width="3"
transform="matrix(0.99999995,-3.1484358e-4,-3.6143743e-4,0.99999993,0,0)"
ry="0.99980539"
rx="1.0001751"
y="1042.9893"
x="17.949001"
height="7.9997311"
width="2.8565922"
id="rect2987"
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:1.04999804;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999022;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path3757"
d="m 18,1030.3622 c 0,13 0,13 0,13"
style="fill:none;stroke:#2e3436;stroke-width:2.09999609;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="M 19.004176,1030.9788 C 19,1043.3622 19,1043.3622 19,1043.3622"
style="fill:none;stroke:#2e3436;stroke-width:1.99998021;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<path
sodipodi:type="arc"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.59280384;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.67774415;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2985"
sodipodi:cx="7"
sodipodi:cy="6.5"
sodipodi:rx="5"
sodipodi:ry="4.5"
d="m 12,6.5 a 5,4.5 0 1 1 -10,0 5,4.5 0 1 1 10,0 z"
transform="matrix(1.3854093,-0.80046638,0.88874043,1.5404982,-5.9746781,1033.4462)" />
d="M 12,6.5 C 12,8.9852814 9.7614237,11 7,11 4.2385763,11 2,8.9852814 2,6.5 2,4.0147186 4.2385763,2 7,2 c 2.7614237,0 5,2.0147186 5,4.5 z"
transform="matrix(1.2122332,-0.69988313,0.77764791,1.3469257,-4.0403436,1034.0064)" />
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="11"
width="7"
height="1"
x="4"
y="1035.3622" />
x="6"
y="1036.3623"
rx="0.5"
ry="0.5" />
<rect
y="1039.3622"
x="4"
y="1038.3623"
x="6"
height="1"
width="11"
width="7"
id="rect4485"
style="fill:#2e3436;stroke:none" />
style="fill:#2e3436;stroke:none"
rx="0.5"
ry="0.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 B

After

Width:  |  Height:  |  Size: 841 B

View File

@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="zoom-out.svg"
inkscape:export-filename="zoom-in.png"
inkscape:export-filename="zoom-out.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
@ -35,16 +35,16 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="21.416667"
inkscape:zoom="23.583333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="931"
inkscape:window-height="683"
inkscape:window-x="285"
inkscape:window-y="790"
inkscape:window-width="1312"
inkscape:window-height="735"
inkscape:window-x="1750"
inkscape:window-y="260"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
@ -72,39 +72,42 @@
id="layer1"
transform="translate(0,-1028.3622)">
<g
id="g3759"
transform="matrix(0.67307799,-0.67353235,0.67334032,0.67379466,-697.89982,353.9867)">
id="g3043"
transform="matrix(0.70712074,-0.70710678,0.70712074,0.70710678,-735.46474,319.5415)">
<rect
ry="1.0495892"
rx="1.0504072"
y="1042.3622"
x="16.5"
height="9"
width="3"
transform="matrix(0.99999995,-3.1484358e-4,-3.6143743e-4,0.99999993,0,0)"
ry="0.99980539"
rx="1.0001751"
y="1042.9893"
x="17.949001"
height="7.9997311"
width="2.8565922"
id="rect2987"
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:1.04999804;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
style="fill:#2e3436;fill-opacity:1;stroke:#2e3436;stroke-width:0.99999022;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path3757"
d="m 18,1030.3622 c 0,13 0,13 0,13"
style="fill:none;stroke:#2e3436;stroke-width:2.09999609;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="M 19.004176,1030.9788 C 19,1043.3622 19,1043.3622 19,1043.3622"
style="fill:none;stroke:#2e3436;stroke-width:1.99998021;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<path
sodipodi:type="arc"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.59280384;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
style="fill:#eeeeec;fill-opacity:1;stroke:#2e3436;stroke-width:0.67774409;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2985"
sodipodi:cx="7"
sodipodi:cy="6.5"
sodipodi:rx="5"
sodipodi:ry="4.5"
d="m 12,6.5 a 5,4.5 0 1 1 -10,0 5,4.5 0 1 1 10,0 z"
transform="matrix(1.3854093,-0.80046638,0.88874043,1.5404982,-5.9746781,1033.4462)" />
d="M 12,6.5 C 12,8.9852814 9.7614237,11 7,11 4.2385763,11 2,8.9852814 2,6.5 2,4.0147186 4.2385763,2 7,2 c 2.7614237,0 5,2.0147186 5,4.5 z"
transform="matrix(1.2122332,-0.69988318,0.77764791,1.3469257,-4.0403436,1034.0064)" />
<rect
style="fill:#2e3436;stroke:none"
id="rect3760"
width="11"
height="1"
x="4"
y="1037.3622" />
width="7"
height="0.99997389"
x="5.999999"
y="1037.3619"
rx="0.5"
ry="0.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -35,6 +35,8 @@ void ByteViewTab::addTab(const char *name, tvbuff_t *tvb, proto_tree *tree, QTre
ByteViewText *byte_view_text = new ByteViewText(this, tvb, tree, protoTree, encoding);
byte_view_text->setAccessibleName(name);
byte_view_text->setMonospaceFont(mono_font_);
connect(this, SIGNAL(monospaceFontChanged(QFont)), byte_view_text, SLOT(setMonospaceFont(QFont)));
QTabWidget::addTab(byte_view_text, name);
}
@ -181,6 +183,13 @@ void ByteViewTab::setCaptureFile(capture_file *cf)
cap_file_ = cf;
}
void ByteViewTab::setMonospaceFont(const QFont &mono_font)
{
mono_font_ = mono_font;
emit monospaceFontChanged(mono_font_);
update();
}
/*
* Editor modelines
*

View File

@ -44,16 +44,19 @@ public:
private:
void setTabsVisible();
capture_file *cap_file_;
QFont mono_font_;
protected:
void tabInserted(int index);
void tabRemoved(int index);
signals:
void monospaceFontChanged(const QFont &mono_font);
public slots:
void protoTreeItemChanged(QTreeWidgetItem *current);
void setCaptureFile(capture_file *cf);
void setMonospaceFont(const QFont &mono_font);
};
#endif // BYTE_VIEW_TAB_H

View File

@ -122,6 +122,14 @@ void ByteViewText::renderBytes()
setUpdatesEnabled(true);
}
void ByteViewText::setMonospaceFont(const QFont &mono_font)
{
mono_normal_font_ = mono_font;
mono_bold_font_ = QFont(mono_font);
mono_bold_font_.setBold(true);
renderBytes();
}
// Private
#define BYTE_VIEW_SEP 8 /* insert a space every BYTE_VIEW_SEP bytes */
@ -285,7 +293,7 @@ void ByteViewText::setState(ByteViewText::highlight_state state)
QPalette pal = wsApp->palette();
moveCursor(QTextCursor::End);
setCurrentFont(wsApp->monospaceFont());
setCurrentFont(mono_normal_font_);
setTextColor(pal.text().color());
setTextBackgroundColor(pal.base().color());
@ -295,7 +303,7 @@ void ByteViewText::setState(ByteViewText::highlight_state state)
break;
case StateField:
if (bold_highlight_) {
setCurrentFont(wsApp->monospaceFont(true));
setCurrentFont(mono_bold_font_);
} else {
setTextColor(pal.base().color());
setTextBackgroundColor(pal.text().color());

View File

@ -54,6 +54,9 @@ public:
void setFieldAppendixHighlight(int start, int end);
void renderBytes();
public slots:
void setMonospaceFont(const QFont &mono_font);
private:
typedef enum {
StateNormal,
@ -72,6 +75,8 @@ private:
tvbuff_t *tvb_;
proto_tree *proto_tree_;
QTreeWidget *tree_widget_;
QFont mono_normal_font_;
QFont mono_bold_font_;
gboolean bold_highlight_;

View File

@ -113,8 +113,10 @@ MainWindow::MainWindow(QWidget *parent) :
//Otherwise unexpected problems may occur
setFeaturesEnabled(false);
connect(wsApp, SIGNAL(appInitialized()), this, SLOT(setFeaturesEnabled()));
connect(wsApp, SIGNAL(appInitialized()), this, SLOT(zoomText()));
connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(layoutPanes()));
connect(wsApp, SIGNAL(preferencesChanged()), this, SLOT(zoomText()));
connect(wsApp, SIGNAL(recentFilesRead()), this, SLOT(loadWindowGeometry()));
@ -170,9 +172,13 @@ MainWindow::MainWindow(QWidget *parent) :
main_ui_->actionViewColorizePacketList->setChecked(recent.packet_list_colorize);
// main_ui_->actionViewAutoScroll->setIcon(StockIcon("x-stay-last"));
// main_ui_->actionViewZoomIn->setIcon(StockIcon("zoom-in"));
// main_ui_->actionViewZoomOut->setIcon(StockIcon("zoom-out"));
// main_ui_->actionViewZoomOriginal->setIcon(StockIcon("zoom-original"));
QList<QKeySequence> zi_seq = main_ui_->actionViewZoomIn->shortcuts();
zi_seq << QKeySequence(Qt::CTRL + Qt::Key_Equal);
main_ui_->actionViewZoomIn->setIcon(StockIcon("zoom-in"));
main_ui_->actionViewZoomIn->setShortcuts(zi_seq);
main_ui_->actionViewZoomOut->setIcon(StockIcon("zoom-out"));
main_ui_->actionViewNormalSize->setIcon(StockIcon("zoom-original"));
main_ui_->actionViewResizeColumns->setIcon(StockIcon("x-resize-columns"));
// In Qt4 multiple toolbars and "pretty" are mutually exculsive on OS X. If
// unifiedTitleAndToolBarOnMac is enabled everything ends up in the same row.
@ -286,6 +292,13 @@ MainWindow::MainWindow(QWidget *parent) :
connect(this, SIGNAL(setCaptureFile(capture_file*)),
byte_view_tab_, SLOT(setCaptureFile(capture_file*)));
connect(this, SIGNAL(monospaceFontChanged(QFont)),
packet_list_, SLOT(setMonospaceFont(QFont)));
connect(this, SIGNAL(monospaceFontChanged(QFont)),
proto_tree_, SLOT(setMonospaceFont(QFont)));
connect(this, SIGNAL(monospaceFontChanged(QFont)),
byte_view_tab_, SLOT(setMonospaceFont(QFont)));
connect(main_ui_->actionGoNextPacket, SIGNAL(triggered()),
packet_list_, SLOT(goNextPacket()));
connect(main_ui_->actionGoPreviousPacket, SIGNAL(triggered()),
@ -1537,12 +1550,6 @@ void MainWindow::setForCapturedPackets(bool have_captured_packets)
main_ui_->actionEditFindPacket->setEnabled(have_captured_packets);
main_ui_->actionEditFindNext->setEnabled(have_captured_packets);
main_ui_->actionEditFindPrevious->setEnabled(have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ZoomIn",
// have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ZoomOut",
// have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/NormalSize",
// have_captured_packets);
main_ui_->actionGoGoToPacket->setEnabled(have_captured_packets);
main_ui_->actionGoPreviousPacket->setEnabled(have_captured_packets);
@ -1550,6 +1557,11 @@ void MainWindow::setForCapturedPackets(bool have_captured_packets)
main_ui_->actionGoFirstPacket->setEnabled(have_captured_packets);
main_ui_->actionGoLastPacket->setEnabled(have_captured_packets);
main_ui_->actionViewZoomIn->setEnabled(have_captured_packets);
main_ui_->actionViewZoomOut->setEnabled(have_captured_packets);
main_ui_->actionViewNormalSize->setEnabled(have_captured_packets);
main_ui_->actionViewResizeColumns->setEnabled(have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/GoMenu/PreviousPacketInConversation",
// have_captured_packets);
// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/GoMenu/NextPacketInConversation",
@ -1573,8 +1585,6 @@ void MainWindow::setMenusForFileSet(bool enable_list_files) {
void MainWindow::updateForUnsavedChanges() {
setTitlebarForCaptureFile();
setMenusForCaptureFile();
// set_toolbar_for_capture_file(cf);
}
void MainWindow::changeEvent(QEvent* event)
@ -1590,9 +1600,7 @@ void MainWindow::changeEvent(QEvent* event)
default:
break;
}
}
QMainWindow::changeEvent(event);
}

View File

@ -106,6 +106,7 @@ private:
MainWelcome *main_welcome_;
DisplayFilterCombo *df_combo_box_;
capture_file *cap_file_;
QFont mono_font_;
// XXX - packet_list_, proto_tree_, and byte_view_tab_ should
// probably be full-on values instead of pointers.
PacketList *packet_list_;
@ -163,6 +164,7 @@ signals:
void setCaptureFile(capture_file *cf);
void setDissectedCaptureFile(capture_file *cf);
void displayFilterSuccess(bool success);
void monospaceFontChanged(const QFont &mono_font);
public slots:
// in main_window_slots.cpp
@ -277,7 +279,12 @@ private slots:
void on_actionEditConfigurationProfiles_triggered();
void on_actionEditPreferences_triggered();
void zoomText();
void on_actionViewZoomIn_triggered();
void on_actionViewZoomOut_triggered();
void on_actionViewNormalSize_triggered();
void on_actionViewColorizePacketList_triggered(bool checked);
void on_actionViewResizeColumns_triggered();
void on_actionViewReload_triggered();
void on_actionViewToolbarMainToolbar_triggered();
void on_actionViewToolbarDisplayFilter_triggered();

View File

@ -239,6 +239,14 @@
<addaction name="actionViewToolbarMainToolbar"/>
<addaction name="actionViewToolbarDisplayFilter"/>
</widget>
<widget class="QMenu" name="menuZoom">
<property name="title">
<string>Zoom</string>
</property>
<addaction name="actionViewZoomIn"/>
<addaction name="actionViewZoomOut"/>
<addaction name="actionViewNormalSize"/>
</widget>
<addaction name="separator"/>
<addaction name="actionViewExpandSubtrees"/>
<addaction name="actionViewExpandAll"/>
@ -246,7 +254,9 @@
<addaction name="separator"/>
<addaction name="actionViewColorizePacketList"/>
<addaction name="separator"/>
<addaction name="actionViewZoomIn"/>
<addaction name="menuZoom"/>
<addaction name="separator"/>
<addaction name="actionViewResizeColumns"/>
<addaction name="separator"/>
<addaction name="actionViewReload"/>
<addaction name="menuToolbars"/>
@ -499,6 +509,11 @@
<addaction name="actionGoLastPacket"/>
<addaction name="separator"/>
<addaction name="actionViewColorizePacketList"/>
<addaction name="separator"/>
<addaction name="actionViewZoomIn"/>
<addaction name="actionViewZoomOut"/>
<addaction name="actionViewNormalSize"/>
<addaction name="actionViewResizeColumns"/>
</widget>
<widget class="MainStatusBar" name="statusBar"/>
<widget class="QToolBar" name="displayFilterToolBar">
@ -1743,7 +1758,7 @@
<string>Colorize Packet List</string>
</property>
<property name="toolTip">
<string>Color packets according to the coloring rules</string>
<string>Draw packets using your coloring rules</string>
</property>
</action>
<action name="actionViewZoomIn">
@ -1754,7 +1769,34 @@
<string>Enlarge the main window text</string>
</property>
<property name="shortcut">
<string>Meta++</string>
<string>Ctrl++</string>
</property>
</action>
<action name="actionViewZoomOut">
<property name="text">
<string>Zoom Out</string>
</property>
<property name="shortcut">
<string>Ctrl+-</string>
</property>
</action>
<action name="actionViewNormalSize">
<property name="text">
<string>Normal Size</string>
</property>
<property name="shortcut">
<string>Ctrl+0</string>
</property>
</action>
<action name="actionViewResizeColumns">
<property name="text">
<string>Resize Columns</string>
</property>
<property name="toolTip">
<string>Resize packet list columns to fit contents</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+R</string>
</property>
</action>
</widget>

View File

@ -1677,6 +1677,36 @@ void MainWindow::on_actionEditPreferences_triggered()
// View Menu
void MainWindow::zoomText()
{
// Scale by 10%, rounding to nearest half point, minimum 1 point.
// XXX Small sizes repeat. It might just be easier to create a map of multipliers.
mono_font_ = QFont(wsApp->monospaceFont());
qreal zoom_size = wsApp->monospaceFont().pointSize() * 2 * qPow(1.1, recent.gui_zoom_level);
zoom_size = qRound(zoom_size) / 2.0;
zoom_size = qMax(zoom_size, 1.0);
mono_font_.setPointSizeF(zoom_size);
emit monospaceFontChanged(mono_font_);
}
void MainWindow::on_actionViewZoomIn_triggered()
{
recent.gui_zoom_level++;
zoomText();
}
void MainWindow::on_actionViewZoomOut_triggered()
{
recent.gui_zoom_level--;
zoomText();
}
void MainWindow::on_actionViewNormalSize_triggered()
{
recent.gui_zoom_level = 0;
zoomText();
}
void MainWindow::on_actionViewColorizePacketList_triggered(bool checked) {
recent.packet_list_colorize = checked;
color_filters_enable(checked);
@ -1684,6 +1714,13 @@ void MainWindow::on_actionViewColorizePacketList_triggered(bool checked) {
packet_list_->update();
}
void MainWindow::on_actionViewResizeColumns_triggered()
{
for (int col = 0; col < packet_list_->packetListModel()->columnCount(); col++) {
packet_list_->resizeColumnToContents(col);
}
}
void MainWindow::on_actionViewReload_triggered()
{
cf_reload(&cfile);

View File

@ -418,9 +418,9 @@ void PacketList::showEvent (QShowEvent *event) {
fmt = get_column_format(i);
long_str = get_column_width_string(fmt, i);
if (long_str) {
col_width = wsApp->monospaceTextSize(long_str);
col_width = packet_list_model_->columnTextSize(long_str);
} else {
col_width = wsApp->monospaceTextSize(MIN_COL_WIDTH_STR);
col_width = packet_list_model_->columnTextSize(MIN_COL_WIDTH_STR);
}
setColumnWidth(i, col_width);
}
@ -790,6 +790,11 @@ void PacketList::setCaptureFile(capture_file *cf)
packet_list_model_->setCaptureFile(cf);
}
void PacketList::setMonospaceFont(const QFont &mono_font)
{
packet_list_model_->setMonospaceFont(mono_font);
}
void PacketList::goNextPacket(void) {
setCurrentIndex(moveCursor(MoveDown, Qt::NoModifier));
}

View File

@ -79,6 +79,7 @@ signals:
public slots:
void setCaptureFile(capture_file *cf);
void setMonospaceFont(const QFont &mono_font);
void goNextPacket();
void goPreviousPacket();
void goFirstPacket();

View File

@ -33,6 +33,7 @@
#include "wireshark_application.h"
#include <QColor>
#include <QFontMetrics>
#include <QModelIndex>
PacketListModel::PacketListModel(QObject *parent, capture_file *cf) :
@ -121,6 +122,19 @@ void PacketListModel::resetColorized()
endResetModel();
}
int PacketListModel::columnTextSize(const char *str)
{
QFontMetrics fm(mono_font_);
return fm.width(str);
}
void PacketListModel::setMonospaceFont(const QFont &mono_font)
{
mono_font_ = mono_font;
recreateVisibleRows();
}
int PacketListModel::rowCount(const QModelIndex &parent) const
{
if (parent.column() >= prefs.num_cols)
@ -150,7 +164,7 @@ QVariant PacketListModel::data(const QModelIndex &index, int role) const
switch (role) {
case Qt::FontRole:
return wsApp->monospaceFont();
return mono_font_;
case Qt::TextAlignmentRole:
switch(recent_get_column_xalign(index.column())) {
case COLUMN_XALIGN_RIGHT:

View File

@ -62,18 +62,20 @@ public:
int visibleIndexOf(frame_data *fdata) const;
void resetColumns();
void resetColorized();
int columnTextSize(const char *str);
signals:
public slots:
void setMonospaceFont(const QFont &mono_font);
private:
capture_file *cap_file_;
QFont mono_font_;
QList<QString> col_names_;
QVector<PacketListRecord *> visible_rows_;
QVector<PacketListRecord *> physical_rows_;
QMap<int, int> number_to_row_;
QFont pl_font_;
int header_height_;
};

View File

@ -43,6 +43,7 @@ public:
QVariant columnString(capture_file *cap_file, int column);
frame_data *frameData();
int columnTextSize(const char *str);
static void resetColumns(column_info *cinfo);
void resetColorized();

View File

@ -26,13 +26,12 @@
#include <epan/ftypes/ftypes.h>
#include <epan/prefs.h>
#include "wireshark_application.h"
#include <QApplication>
#include <QContextMenuEvent>
#include <QDesktopServices>
#include <QHeaderView>
#include <QTreeWidgetItemIterator>
#include <QDesktopServices>
#include <QUrl>
#include <QContextMenuEvent>
#include <QMainWindow>
QColor expert_color_comment ( 0xb7, 0xf7, 0x74 ); /* Green */
QColor expert_color_chat ( 0x80, 0xb7, 0xf7 ); /* light blue */
@ -257,9 +256,16 @@ void ProtoTree::contextMenuEvent(QContextMenuEvent *event)
decode_as_->setData(QVariant());
}
void ProtoTree::setMonospaceFont(const QFont &mono_font)
{
mono_font_ = mono_font;
setFont(mono_font_);
update();
}
void ProtoTree::fillProtocolTree(proto_tree *protocol_tree) {
clear();
setFont(wsApp->monospaceFont());
setFont(mono_font_);
proto_tree_children_foreach(protocol_tree, proto_tree_draw_node, invisibleRootItem());
}

View File

@ -46,6 +46,7 @@ protected:
private:
QMenu ctx_menu_;
QAction *decode_as_;
QFont mono_font_;
signals:
void protoItemSelected(QString &);
@ -54,6 +55,7 @@ signals:
void relatedFrame(int);
public slots:
void setMonospaceFont(const QFont &mono_font);
void updateSelectionStatus(QTreeWidgetItem*);
void expand(const QModelIndex & index);
void collapse(const QModelIndex & index);

View File

@ -335,9 +335,9 @@ void WiresharkApplication::helpTopicAction(topic_action_e action)
void WiresharkApplication::setMonospaceFont(const char *font_string) {
if (font_string && strlen(font_string) > 0) {
mono_regular_font_.fromString(font_string);
mono_bold_font_ = QFont(mono_regular_font_);
mono_bold_font_.setBold(true);
mono_font_.fromString(font_string);
// mono_bold_font_ = QFont(mono_regular_font_);
// mono_bold_font_.setBold(true);
return;
}
@ -365,33 +365,23 @@ void WiresharkApplication::setMonospaceFont(const char *font_string) {
substitutes << x11_alt_fonts << win_default_font << win_alt_font << osx_default_font << osx_alt_font << fallback_fonts;
#endif
mono_regular_font_.setFamily(default_font);
mono_regular_font_.insertSubstitutions(default_font, substitutes);
mono_regular_font_.setPointSize(wsApp->font().pointSize() + font_size_adjust);
mono_regular_font_.setBold(false);
mono_font_.setFamily(default_font);
mono_font_.insertSubstitutions(default_font, substitutes);
mono_font_.setPointSize(wsApp->font().pointSize() + font_size_adjust);
mono_font_.setBold(false);
mono_bold_font_ = QFont(mono_regular_font_);
mono_bold_font_.setBold(true);
// mono_bold_font_ = QFont(mono_font_);
// mono_bold_font_.setBold(true);
g_free(prefs.gui_qt_font_name);
prefs.gui_qt_font_name = g_strdup(mono_regular_font_.toString().toUtf8().constData());
prefs.gui_qt_font_name = g_strdup(mono_font_.toString().toUtf8().constData());
}
int WiresharkApplication::monospaceTextSize(const char *str, bool bold)
int WiresharkApplication::monospaceTextSize(const char *str)
{
QFontMetrics *fm;
QFontMetrics fm(mono_font_);
if (bold)
fm = new QFontMetrics(mono_bold_font_);
else
fm = new QFontMetrics(mono_regular_font_);
return fm->width(str);
}
QFont WiresharkApplication::monospaceFont(bool bold)
{
return bold ? mono_bold_font_ : mono_regular_font_;
return fm.width(str);
}
void WiresharkApplication::setConfigurationProfile(const gchar *profile_name)

View File

@ -85,9 +85,9 @@ public:
void setLastOpenDir(const char *dir_name);
void setLastOpenDir(QString *dir_str);
void helpTopicAction(topic_action_e action);
QFont monospaceFont(bool bold = false);
const QFont monospaceFont() const { return mono_font_; }
void setMonospaceFont(const char *font_string);
int monospaceTextSize(const char *str, bool bold = false);
int monospaceTextSize(const char *str);
void setConfigurationProfile(const gchar *profile_name);
bool isInitialized() { return initialized_; }
const QIcon &normalIcon() const { return normal_icon_; }
@ -95,8 +95,7 @@ public:
private:
bool initialized_;
QFont mono_regular_font_;
QFont mono_bold_font_;
QFont mono_font_;
QTimer recent_timer_;
QTimer addr_resolv_timer_;
QTimer tap_update_timer_;