Import vendor_v1.20.0825 beta

Canadian-Provinces-Territories-Award-Layer
Paul Traina 2020-08-25 19:38:51 -07:00
rodzic cf63570bf8
commit 97135d0481
23 zmienionych plików z 1461 dodań i 771 usunięć

Wyświetl plik

@ -3,6 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GridTracker &copy;2020 N0TTL</title>
<link rel="stylesheet" href="./lib/dp-dark.css">
<link rel="stylesheet" href="./lib/ol.css" />
<link rel="stylesheet" href="./lib/style.css"/>
<script src="./lib/defaults.js" type="text/javascript" ></script>
@ -14,6 +15,7 @@
<script src="./lib/arc.js" type="text/javascript"></script>
<script src="./lib/moment-with-locales.js" type="text/javascript"></script>
<script src="./lib/moment-timezone-with-data.js" type="text/javascript"></script>
<script src="./lib/datepicker.js"></script>
<script src="./lib/callsigns.js" type="text/javascript"></script>
<script src="./lib/shadow.js" type="text/javascript"></script>
<script src="./lib/gtws.js" type="text/javascript"></script>
@ -173,8 +175,7 @@
<tr>
<td colspan=2 ><div class="button" onclick="clearLive();" title="Clear Live Data from GridTracker">Clear Live</div></td>
<td colspan=2 ><div style="min-width:58px" id="clearOrLoadButton" class="button" onclick="clearOrLoadQSOs();updateCountStats();" title="Clear or Reload Log Data
(does not delete files)">Clear Log</div></td>
<td colspan=2 ><div style="min-width:58px" id="clearOrLoadButton" class="button" onclick="clearOrLoadQSOs();updateCountStats();" title="Clear or Reload Log Data&10;(does not delete files)">Clear Log</div></td>
</tr>
</table>
</div>
@ -262,12 +263,15 @@
</table>
</div>
<div id="buttonsDiv" style="margin-left:0px;white-space:normal;">
<div id="callRosterButton" style="color:#EEE;font-weight:bold;border-width:2px;margin:0px;padding-left:2px;padding-right:2px;text-align:center" class="button" onclick="openCallRosterWindow();" title="Open Call Roster" >Call Roster + Award Tracker</div>
<div id="callRosterButton" class="iconButton" style="padding:0px;" onclick="openCallRosterWindow();" title="Open Call Roster" ><img src="./img/roster-button.svg" class="buttonImgWide" /></div>
<div id="pushPinButton" onclick="togglePushPinMode();" class="iconButton" title="Toggle Push-Pin Mode"><img id="pinImg" src="" class="buttonImg" /></div>
<div id="lookupButton" onclick="openLookupWindow()" class="iconButton" title="Open Lookup Window" ><img style="" src="./img/lookup.svg" class="buttonImg" /></div>
<div id="statsDiv" onclick="showRootInfoBox();" class="iconButton" title="Show Stats"><img src="./img/stats.png" class="buttonImg" /></div>
<div id="modeModeDiv" onclick="toggleOffline()" class="iconButton" title="Toggle Online/Offline Mode"><img id="offlineImg" src="" class="buttonImg" /></div>
<div id="earthShadow" onclick="toggleEarth()" class="iconButton" title="Toggle Grayline"><img id="earthImg" src="" class="buttonImg" /></div>
<div id="pushPinButton" onclick="togglePushPinMode();" class="iconButton" title="Toggle Push-Pin Mode"><img id="pinImg" src="" class="buttonImg" /></div>
<div id="lookupButton" onclick="openLookupWindow()" class="iconButton" title="Open Lookup Window" ><img style="" src="./img/eye2.png" class="buttonImg" /></div>
<div id="statsDiv" onclick="showRootInfoBox();" class="iconButton" title="Show Stats"><img src="./img/stats.png" class="buttonImg" /></div>
<div id="legendToggleDiv" onclick="toggleLegend()" class="iconButton" title="Toggle Map Legend"><img id="legendImg" src="./img/gt_key.png" class="buttonImg" /></div>
<div id="gtShareButton" onclick="toggleGtShareEnable();" class="iconButton" title="Share your On-Air Status with other GridTracker users"><img id="gtShareFlagImg" src="./img/share-off.png" class="buttonImg" /></div>
<div id="helpButton" onclick="toggleHelp();" class="iconButton" title="Toggle Hotkey List"><img src="./img/help.svg" class="buttonImg" /></div>
<div id="trophyButton" onclick="cycleTrophyOverlay();" class="iconButton" title="Cycle Award Overlays"><img id="trophyImg" src="./img/blank_trophy.png" class="buttonImg" /></div>
<div id="buttonStrikesDiv" onclick="toggleStrikesValue()" class="iconButton" title="Toggle Lightning Strikes" ><img id="strikesImg" src="./img/lw.png" class="buttonImg" /></div>
<div id="lunaButton" onclick="toggleMoon();" class="iconButton" title="Toggle Moon" ><img id="lunaButonImg" src="./img/luna.png" class="buttonImg" /></div>
@ -282,11 +286,12 @@
<div id="buttonQRZCheckBoxDiv" onclick="if ( ValidateQrzApi(qrzApiKey ) ) grabQrzComLog()" class="iconButton" title="Download log from QRZ.com" ><img id="qrzLogImg" src="./img/log_QRZ.png" class="buttonImg" /></div>
<div id="buttonLOTWCheckBoxDiv" onclick="if ( ValidateText(lotwLogin) && ValidateText(lotwPassword) ) { grabLOtWLogQSO(false); grabLOtWLog(false); } " class="iconButton" title="Download log from Logbook of the World" ><img id="lotwLogImg" src="./img/log_LoTW.png" class="buttonImg" /></div>
<div id="buttonClubCheckBoxDiv" onclick="if ( ValidateText(clubEmail) && ValidateText(clubPassword) ) grabClubLog()" class="iconButton" title="Download log from ClubLog" ><img id="ClubLogImg" src="./img/log_club.png" class="buttonImg" /></div>
<div id="buttonAdifCheckBoxDiv" onclick="startupAdifLoadFunction()" class="iconButton" title="Reload Local ADIF Files" ><img src="./img/log_local.png" class="buttonImg" /></div>
<div id="gtShareButton" onclick="toggleGtShareEnable();" class="iconButton" title="Share your On-Air Status with other GridTracker users"><img id="gtShareFlagImg" src="./img/share-off.png" class="buttonImg" /></div>
<div id="buttonAdifCheckBoxDiv" onclick="startupAdifLoadFunction()" class="iconButton" title="Reload Local ADIF Files" ><img src="./img/log_local.png" class="buttonImg" /></div>
<div id="timezoneButton" onclick="toggleTimezones()" class="iconButton" title="Toggle Timezone Layer"><img src="./img/timezone-button.svg" class="buttonImg" /></div>
<div id="radarButton" onclick="toggleNexrad()" class="iconButton" title="Toggle US Nexrad"><img src="./img/radar-button.svg" class="buttonImg" /></div>
<div id="gtFlagButton" onclick="toggleGtMap();" class="iconButton" title="Toggle View GridTracker Users"><img id="gtFlagImg" src="" class="buttonImg" /></div>
<div id="msgButton" onclick="showMessaging();" class="iconButton" title="Messaging Window" ><img id="msgImg" src="./img/gt_chat.png" class="buttonImg" /></div>
<div id="legendToggleDiv" onclick="toggleLegend()" class="iconButton" title="Toggle Map Legend"><img id="legendImg" src="./img/gt_key.png" class="buttonImg" /></div>
</div>
<div id="SpotsDiv" style="display:none;border:1px solid yellow;margin:1px;margin-bottom:1px;margin-top:2px;" class="roundBorder" >
<table align="center">
@ -305,36 +310,36 @@
<div id="myMoonTooltip" style="background-color:black;padding:5px;text-align:center;display:block;position:absolute;z-index:-499;left:50px;top:50px;border:2px solid white;white-space: nowrap;overflow:hidden" class="roundBorder"></div>
<div id="helpDiv"style="animation: fadeInEffect .1s;margin: 2px;left:30px;top:20px;display:none;background-color:black;padding:5px;text-align:center;vertical-align:middle;position:absolute;z-index:600;border:1px cyan;" class="roundBorder" >
<div id="printHotKeyDiv" style="border:1px solid cyan;color:white;text-align:auto;" >
<table align=center class="darkTable" >
<tr><th colspan=6 >Hot Key List</th>
<table align=center class="darkTable" >
<tr><th colspan=6 >Hot Key List (v1.20.0825+)</th>
<tr><th>Key</th><th align='left'>Action</th><th>Condition</th><th>Key</th><th align='left'>Action</th><th>Condition</th>
<tr><td>1</td><td align='left' >Show General Map Layer</td> <td></td><td>Q</td><td align='left' >Cycle QSO/LIVE view</td> <td></td></tr>
<tr><td>2</td><td align='left' >Show CQ Zones Award Layer</td><td></td><td>R</td><td align='left' >Open Call Roster Window</td><td></td></tr>
<tr><td>3</td><td align='left' >Show ITU Zones Award Layer</td><td></td><td>S</td><td align='left' >Open Settings</td> <td></td></tr>
<tr><td>4</td><td align='left' >Show Continents Award Layer</td><td></td><td>T</td><td align='left' >Add TTS Alert</td><td>right-click<br>empty grid</td></tr>
<tr><td>5</td><td align='left' >Show US States Award Layer</td><td></td><td>T</td><td align='left' >Toggle RX Spots over Grids</td><td></td></tr>
<tr><td>6</td><td align='left' >Show DXCC Award Layer</td><td></td><td>U</td><td align='left' >Toggle Award Layer Merge</td><td></td></tr>
<tr><td>7</td><td align='left' >Show US Counties Award Layer</td><td></td><td>V</td><td align='left' >Add PopUp Alert</td><td>right-click<br>empty grid</td></tr>
<tr><td>A</td><td align='left' >Toggle Active Path Animation</td><td></td><td>W</td><td align='left' >Toggle Maidenhead Grid Size</td> <td></td></tr>
<tr><td>B</td><td align='left' >Toggle All Grid Overlay</td><td></td><td>Z</td><td align='left' >Center Map on QTH Grid</td><td></td></tr>
<tr><td>C</td><td align='left' >Open Conditions Windows</td><td></td><td>F1</td><td align='left' >Hot Key List (This List)</td><td></td></tr>
<tr><td>D</td><td align='left' >Toggle Moon Tracking</td><td></td><td>F5</td><td align='left' >Recall Map Position 1</td><td></td></tr>
<tr><td>E</td><td align='left' >Toggle 24h Moon Trajectory</td><td></td><td>F5</td><td align='left' >Store Map Position 1</td><td>Shift-Key</td></tr>
<tr><td>F</td><td align='left' >Toggle RX Spots Flight</td><td></td><td>F6</td><td align='left' >Recall Map Position 2</td><td></td></tr>
<tr><td>G</td><td align='left' >Toggle GridTracker Flags</td><td></td><td>F6</td><td align='left' >Store Map Position 2</td><td>Shift-Key</td></tr>
<tr><td>H</td><td align='left' >Toggle RX Spots Heatmap</td><td></td><td>F7</td><td align='left' >Recall Map Position 3</td><td></td></tr>
<tr><td>I</td><td align='left' >Open Stats/Info </td><td></td><td>F7</td><td align='left' >Store Map Position 3</td><td>Shift-Key</td></tr>
<tr><td>=</td><td align='left' >Cycle Award Layers</td><td></td><td>F8</td><td align='left' >Recall Map Position 4</td><td></td></tr>
<tr><td>K</td><td align='left' >Capture Screenshot</td><td></td><td>F8</td><td align='left' >Store Map Position 4</td><td>Shift-Key</td></tr>
<tr><td>L</td><td align='left' >Open ADIF file</td><td></td><td>F9</td><td align='left' >Recall Map Position 5</td><td></td></tr>
<tr><td>M</td><td align='left' >Add MapCenter Alert</td><td>right-click<br>empty grid</td><td>F9</td><td align='left' >Store Map Position 5</td><td>Shift-Key</td></tr>
<tr><td>M</td><td align='left' >Toggle Audio Mute</td><td></td><td>F10</td><td align='left' >Recall Map Position 6</td><td></td></tr>
<tr><td>N</td><td align='left' >Toggle Grayline</td><td></td><td>F10</td><td align='left' >Store Map Position 6</td><td>Shift-Key</td></tr>
<tr><td>O</td><td align='left' >Toggle RX Spots</td><td></td><td>F11</td><td align='left' >Toggle Fullscreen</td><td></td></tr>
<tr><td>P</td><td align='left' >Toggle Grid/PushPin Mode</td><td></td><td>F12</td><td align='left' >Toggle Sidebar Menu</td><td></td>
<tr><td>Y</td><td align='left' >Toggle Global Lightning</td><td></td><td>X</td><td align='left' >Toggle Map Position Info</td><td></td>
<tr><td>&Oslash;</td><td align='left' >Toggle US Nexrad Overlay</td><td></td><td>9</td><td align='left' >Toggle Timezone Overlay</td><td></td>
<tr><td>8</td><td align='left' >Show FFMA Award Layer</td><td></td><td>J</td><td align='left' >Show GMA Award Layer</td><td></td>
<tr><td>1</td><td align='left' >Show General Map Layer</td><td></td> <td>Q</td><td align='left' >Cycle Logbook/Live View</td> <td></td></tr>
<tr><td>2</td><td align='left' >Show CQ Zones Award Layer</td><td></td> <td>R</td><td align='left' >Open Call Roster Window</td><td></td></tr>
<tr><td>3</td><td align='left' >Show ITU Zones Award Layer</td><td></td> <td>S</td><td align='left' >Open Settings</td> <td></td></tr>
<tr><td>4</td><td align='left' >Show Continents Award Layer</td><td></td> <td>T</td><td align='left' >Toggle RX Spots over Grids</td><td></td></tr>
<tr><td>5</td><td align='left' >Show US States Award Layer</td><td></td> <td>T</td><td align='left' >Add TTS Alert</td><td>right-click<br>empty grid</td></tr>
<tr><td>6</td><td align='left' >Show DXCC Award Layer</td><td></td> <td>U</td><td align='left' >Toggle Award Layer Merge</td><td></td></tr>
<tr><td>7</td><td align='left' >Show US Counties Award Layer</td><td></td> <td>V</td><td align='left' >Add PopUp Alert</td><td>right-click<br>empty grid</td></tr>
<tr><td>8</td><td align='left' >Show US Continental Grids Award Layer</td><td></td> <td>W</td><td align='left' >Toggle Maidenhead Grid Size</td> <td></td></tr>
<tr><td>9</td><td align='left' >Toggle Timezone Overlay</td><td></td> <td>X</td><td align='left' >Toggle Map Position Info</td><td></td></tr>
<tr><td>0</td><td align='left' >Toggle US Nexrad Overlay</td><td></td> <td>Y</td><td align='left' >Toggle Global Lightning</td><td></td></tr>
<tr><td>=</td><td align='left' >Cycle Award Layers</td><td></td> <td>Z</td><td align='left' >Center Map on QTH Grid</td><td></td></tr>
<tr><td>A</td><td align='left' >Toggle Active Path Animation</td><td></td> <td>F1</td><td align='left' >Hot Key List (This List)</td><td></td></tr>
<tr><td>B</td><td align='left' >Toggle All Grid Overlay</td><td></td> <td>F5</td><td align='left' >Recall Map Position 1</td><td></td></tr>
<tr><td>C</td><td align='left' >Open Conditions Windows</td><td></td> <td>F5</td><td align='left' >Store Map Position 1</td><td>Shift-Key</td></tr>
<tr><td>D</td><td align='left' >Toggle Moon Tracking</td><td></td> <td>F6</td><td align='left' >Recall Map Position 2</td><td></td></tr>
<tr><td>E</td><td align='left' >Toggle 24h Moon Trajectory</td><td></td> <td>F6</td><td align='left' >Store Map Position 2</td><td>Shift-Key</td></tr>
<tr><td>F</td><td align='left' >Toggle RX Spots Flight</td><td></td> <td>F7</td><td align='left' >Recall Map Position 3</td><td></td></tr>
<tr><td>G</td><td align='left' >Toggle GridTracker Flags</td><td></td> <td>F7</td><td align='left' >Store Map Position 3</td><td>Shift-Key</td></tr>
<tr><td>H</td><td align='left' >Toggle RX Spots Heatmap</td><td></td> <td>F8</td><td align='left' >Recall Map Position 4</td><td></td></tr>
<tr><td>I</td><td align='left' >Open Stats/Info </td><td></td> <td>F8</td><td align='left' >Store Map Position 4</td><td>Shift-Key</td></tr>
<tr><td>K</td><td align='left' >Capture Screenshot</td><td></td> <td>F9</td><td align='left' >Recall Map Position 5</td><td></td></tr>
<tr><td>L</td><td align='left' >Open ADIF file</td><td></td> <td>F9</td><td align='left' >Store Map Position 5</td><td>Shift-Key</td></tr>
<tr><td>M</td><td align='left' >Toggle Audio Mute</td><td></td> <td>F10</td><td align='left' >Recall Map Position 6</td><td></td></tr>
<tr><td>M</td><td align='left' >Add MapCenter Alert</td><td>right-click<br>empty grid</td> <td>F10</td><td align='left' >Store Map Position 6</td><td>Shift-Key</td></tr>
<tr><td>N</td><td align='left' >Toggle Grayline</td><td></td> <td>F11</td><td align='left' >Toggle Fullscreen</td><td></td></tr>
<tr><td>O</td><td align='left' >Toggle RX Spots</td><td></td> <td>F12</td><td align='left' >Toggle Sidebar Menu</td><td></td></tr>
<tr><td>P</td><td align='left' >Toggle Grid/PushPin Mode</td><td></td></tr>
</table>
</div>
<div>
@ -348,10 +353,10 @@
<div id="rootSettingsDiv" style="margin:0;top:1px;display:none;background-color:#00000000;padding:0px;text-align:center;vertical-align:middle;position:relative;z-index:600;" class="roundBorder" >
<div class="settingstab">
<button id="generalbut" class="settingsTablinks active" onclick="openSettingsTab(event, 'udpSettingsDiv')">General</button>
<button id="logbut" class="settingsTablinks" onclick="openSettingsTab(event, 'logbookSettingsDiv')">Logbook</button>
<button id="lookupbut" class="settingsTablinks" onclick="openSettingsTab(event, 'lookupsSettingsDiv')">Lookups</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'SpeechSettingsDiv')">Audio</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'mapSettingsDiv')">Map</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'spotSettingsDiv')">RX Spots</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'logSettingsDiv');">Logging</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'alertsDiv')">Alerts</button>
<button class="settingsTablinks" onclick="openSettingsTab(event, 'callRosterDiv')">Call Roster</button>
@ -589,134 +594,47 @@
</table>
</div>
<br/>
<table align=center style="display:inline-table">
<tr>
<td>
<div id="ulsLoadDiv" class="mapItem" >
<table align=center>
<tr>
<td colspan=2 style="font-weight:bold;color:yellow">US Callsign Database</td>
</tr>
<tr>
<td colspan=2>Use?<input title="Display US callsign status in Call Roster" type="checkbox" id="ulsUseEnable" onclick="ulsValuesChanged();" /></td>
</tr>
<tr >
<td id="ulsWeeklyTd" style="display:none" colspan=2>Download Weekly?<input title="Download US callsigns weekly" type="checkbox" id="ulsWeeklyEnable" onclick="ulsValuesChanged();" /></td>
</tr>
<tr >
<td id="ulsNowTd" style="display:none" colspan=2><div class="button" onclick="ulsDownload(true);">Download Now!</div></td>
</tr>
<tr id="ulsLastTr">
<td align=right>Last Update:</td><td id="ulsUpdatedTd" align=left><b>Never<b></td>
</tr>
<tr id="ulsWhenTr">
<td align=right>Next Update:</td><td align=left id="ulsWhenTd"></td>
</tr>
<tr>
<td align=center colspan=2 id="ulsCountTd"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table align=center style="display:inline-table">
<tr>
<td>
<div id="lotwLoadDiv" class="mapItem" >
<table align=center>
<tr>
<td colspan=2 style="font-weight:bold;color:yellow">Logbook of The World Callsigns</td>
</tr>
<tr>
<td colspan=2>Use?<input title="Display LoTW callsign status in Call Roster" type="checkbox" id="lotwUseEnable" onclick="lotwValuesChanged();" /></td>
</tr>
<tr >
<td id="lotwWeeklyTd" style="display:none" colspan=2>Download Weekly?<input title="Download LoTW callsigns weekly" type="checkbox" id="lotwWeeklyEnable" onclick="lotwValuesChanged();" /></td>
</tr>
<tr >
<td id="lotwNowTd" style="display:none" colspan=2><div class="button" onclick="lotwDownload(true);">Download Now!</div></td>
</tr>
<tr id="lotwLastTr">
<td align=right>Last Update:</td><td id="lotwUpdatedTd" align=left><b>Never<b></td>
</tr>
<tr id="lotwWhenTr">
<td align=right>Next Update:</td><td align=left id="lotwWhenTd"></td>
</tr>
<tr>
<td align=center colspan=2 id="lotwCountTd"></td>
</tr>
<div id="callsignDatabaseDiv" class="mapItem" >
</table>
</div>
</td>
</tr>
</table><br/>
<table align=center style="display:inline-table">
<tr>
<td>
<div id="eqslLoadDiv" class="mapItem" >
<table align=center>
<tr>
<td colspan=2 style="font-weight:bold;color:yellow">eQSL Callsigns</td>
</tr>
<table align=center class="darkTable" >
<tr><th colspan=6 style="font-weight:bold;color:yellow" >Callsign Databases</th></tr>
<tr><th>Database</th><th>Enabled</th><th>Last Download</th><th>Count</th></tr>
<tr>
<td colspan=2>Use?<input title="Display eqsl callsign status in Call Roster" type="checkbox" id="eqslUseEnable" onclick="eqslValuesChanged();" /></td>
<td>United States ULS</td>
<td>
<input type="checkbox" id="ulsUseEnable" onclick="ulsValuesChanged();" >
</td>
<td id="ulsUpdatedTd" >Never</td>
<td id="ulsCountTd">0</td>
</tr>
<tr >
<td id="eqslWeeklyTd" style="display:none" colspan=2>Download Weekly?<input title="Download eqsl callsigns weekly" type="checkbox" id="eqslWeeklyEnable" onclick="eqslValuesChanged();" /></td>
</tr>
<tr >
<td id="eqslNowTd" style="display:none" colspan=2><div class="button" onclick="eqslDownload(true);">Download Now!</div></td>
</tr>
<tr id="eqslLastTr">
<td align=right>Last Update:</td><td id="eqslUpdatedTd" align=left><b>Never<b></td>
</tr>
<tr id="eqslWhenTr">
<td align=right>Next Update:</td><td align=left id="eqslWhenTd"></td>
</tr>
<tr>
<td align=center colspan=2 id="eqslCountTd"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<table align=center style="display:inline-table">
<tr>
<td>
<div id="orqsLoadDiv" class="mapItem" >
<table align=center>
<tr>
<td colspan=2 style="font-weight:bold;color:yellow">ClubLog OQRS Callsigns</td>
</tr>
<tr>
<td colspan=2>Use?<input title="Display Clublog OQRS Status in Call Roster?" type="checkbox" id="oqrsUseEnable" onclick="oqrsValuesChanged();" /></td>
<td>Logbook of The World</td>
<td>
<input type="checkbox" id="lotwUseEnable" onclick="lotwValuesChanged();" >
</td>
<td id="lotwUpdatedTd" >Never</td>
<td id="lotwCountTd">0</td>
</tr>
<tr >
<td id="oqrsWeeklyTd" style="display:none" colspan=2>Download Weekly?<input title="Download oqrs callsigns weekly" type="checkbox" id="oqrsWeeklyEnable" onclick="oqrsValuesChanged();" /></td>
</tr>
<tr >
<td id="oqrsNowTd" style="display:none" colspan=2><div class="button" onclick="oqrsDownload(true);">Download Now!</div></td>
<tr>
<td>eQSL</td>
<td>
<input type="checkbox" id="eqslUseEnable" onclick="eqslValuesChanged();" >
</td>
<td id="eqslUpdatedTd" >Never</td>
<td id="eqslCountTd">0</td>
</tr>
<tr id="oqrsLastTr">
<td align=right>Last Update:</td><td id="oqrsUpdatedTd" align=left><b>Never<b></td>
<tr>
<td>ClubLog OQRS</td>
<td>
<input type="checkbox" id="oqrsUseEnable" onclick="oqrsValuesChanged();" >
</td>
<td id="oqrsUpdatedTd" >Never</td>
<td id="oqrsCountTd">0</td>
</tr>
<tr id="oqrsWhenTr">
<td align=right>Next Update:</td><td align=left id="oqrsWhenTd"></td>
</tr>
<tr>
<td align=center colspan=2 id="oqrsCountTd"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</table>
</div>
</div>
<div id="SpeechSettingsDiv" class="settingsTabcontent">
<div class="roundBorder" style="border:1px solid #666;margin:2px;padding:5px">
@ -830,6 +748,46 @@
</table>
</div>
</div>
<div id="logbookSettingsDiv" class="settingsTabcontent" style="padding:5px;">
<div style="padding:5px;" class="mapItem">
<div style="padding:5px;" class="mapItem" title="Filter Logbook QSO To These Callsigns Only&#10;(comma seperated)">
<table align=center>
<tr>
<td><b>Working Callsign(s)</b></td>
</tr>
<tr>
<td>Enable? <input title="Enable Filtering" type="checkbox" id="workingCallsignEnable" onclick="workingCallsignEnableChanged(this);" /></td>
</tr>
<tr>
<td id="workingCallsignsTd" style="" >Callsign(s)<input id="workingCallsignsValue" type="text" class="inputTextValue" size="15" onkeypress='return validCallsignsKeys(event.charCode);' oninput="if ( ValidateCallsigns(this) ) workingCallsignsChanged(this);"/></td>
</tr>
</table>
</div>
<div style="padding:5px;" class="mapItem" title="Filter Logbook QSO From This Date And After">
<table align=center>
<tr>
<td><b>Working Date</b></td>
</tr>
<tr>
<td>Enable? <input title="Enable Filtering" type="checkbox" id="workingDateEnable" onclick="workingDateEnableChanged(this);" /></td>
</tr>
<tr>
<td>
<div class="roundBorderValue" style="width:auto;font-size:larger;font-weight:bold;" id="workingDateString">No Date</div>
<td>
</tr>
<tr>
<td id="workingDateTd" title="Date is UTC">
<input style="display:none" type="text" id="workingDateValue" />
<div id="pick-inline"></div>
</td>
</tr>
</table>
</div>
<br/>
<div style="padding:5px;display:none;font-size:larger:font-weight:bold:color:cyan;" id="applyCallsignsAndDateDiv" class="button" onclick="applyCallsignsAndDates();" title="Apply Changes and Re-Import Logbook(s)">Apply Changes</div>
</div>
</div>
<div id="mapSettingsDiv" class="settingsTabcontent" style="background-color:#00000044;text-shadow: 0 0 5px #000000FF;">
<div class="mapItem" >
<table align="center">
@ -844,7 +802,6 @@
</tr>
</table>
</div>
<br/>
<div class="mapItem">
<table align="center">
<tr>
@ -870,28 +827,7 @@
<td colspan=2><input type="range" min="0" max="86400" value="600" step="60" class="slider" id="gridDecay" oninput="changeGridDecay()" onkeyup="redrawGrids()" onmouseup="redrawGrids()" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Split QSL Grids</td>
</tr>
<tr align="center">
<td title="Toggle Split QSL Grids with Live Grids"><input type="checkbox" id="splitQSLValue" onclick="changeSplitQSL()" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Grid Mouse-Over Tables</td>
</tr>
<tr align="center">
<td title="Toggle Grid Mouse-Over Tables"><input type="checkbox" id="mouseOverValue" onclick="changeMouseOverValue()" /></td>
</tr>
</table>
</div>
<br/>
</div><br/>
<div class="mapItem">
<table align="center">
<tr>
@ -935,17 +871,8 @@
</table>
</div>
<br/>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Merge Award Overlay</td>
</tr>
<tr align="center">
<td title="Toggle Merge Award Overlay"><input type="checkbox" id="mergeOverlayValue" onclick="changeMergeOverlayValue()" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Grayline Darkness</td>
@ -977,7 +904,37 @@
</tr>
</table>
</div>
<br/>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Split QSL Grids</td>
</tr>
<tr align="center">
<td title="Toggle Split QSL Grids with Live Grids"><input type="checkbox" id="splitQSLValue" onclick="changeSplitQSL()" /></td>
</tr>
</table>
</div><br/>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Grid Mouse-Over Tables</td>
</tr>
<tr align="center">
<td title="Toggle Grid Mouse-Over Tables"><input type="checkbox" id="mouseOverValue" onclick="changeMouseOverValue()" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">Merge Award Overlay</td>
</tr>
<tr align="center">
<td title="Toggle Merge Award Overlay"><input type="checkbox" id="mergeOverlayValue" onclick="changeMergeOverlayValue()" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<table align="center">
<tr>
@ -997,18 +954,7 @@
<td title="Toggle 'CQ XX' Highlighting"><input type="checkbox" id="CqHiliteValue" onclick="changeCqHiliteValue(this);" /></td>
</tr>
</table>
</div>
<div class="mapItem">
<table align="center">
<tr>
<td align="center">US Weather Radar</td>
</tr>
<tr align="center">
<td title="Toggle U.S. Weather Radar Overlay"><input type="checkbox" id="UsNexradValue" onclick="toggleNexrad();" /></td>
</tr>
</table>
</div>
</div><br/>
<div class="mapItem">
<table align="center">
<tr>
@ -1018,7 +964,40 @@
<td title="If a station grid is not known use the DXCC"><input type="checkbox" id="qrzDxccFallbackValue" onclick="changeQrzDxccFallbackValue();" /></td>
</tr>
</table>
</div><br/>
</div>
<div class="mapItem" id="spotPathColorDiv">
<table align="center">
<tr align="center">
<td align="center" ><b>PSK-Spot Color</b></td>
</tr>
<tr align="center" >
<td colspan=2><input type="range" min="-1" max="361" value="-1" class="slider" id="spotPathColorValue" oninput="spotPathChange();" onkeyup="redrawSpots();" onmouseup="redrawSpots();"/></td>
</tr>
<tr align="center">
<td id="spotPathInfoTd">PSK-Reporter Palette</td>
</tr>
</table>
</div>
<div class="mapItem" >
<table align="center">
<tr>
<td title="Place RX Spots over Grid Layer">PSK-Spots Over Grids</td>
</tr>
<tr>
<td title="Place RX Spots over Grid Layer"><input type="checkbox" id="spotMergeValue" onclick="changeSpotValues();redrawSpots();" /></td>
</tr>
</table>
</div>
<div class="mapItem" id="spotPathsDiv">
<table align="center">
<tr>
<td title="Toggle flight paths to spots">PSK-Spot Paths</td>
</tr>
<tr>
<td title="Toggle flight paths to spots"><input type="checkbox" id="spotPathsValue" onclick="changeSpotValues();redrawSpots();" /></td>
</tr>
</table>
</div><br/>
<div class="mapItem">
<table align="center">
<tr >
@ -1063,6 +1042,19 @@
</tr>
</table>
</div>
<div class="mapItem" id="spotNightPathColorDiv" style="display:none">
<table align="center">
<tr align="center">
<td align="center" ><b>Night PSK-Spot Color</b></td>
</tr>
<tr align="center" >
<td colspan=2><input type="range" min="-1" max="361" value="-1" class="slider" id="spotNightPathColorValue" oninput="spotPathChange();" onkeyup="redrawSpots();" onmouseup="redrawSpots();"/></td>
</tr>
<tr align="center">
<td id="spotNightPathInfoTd">PSK-Reporter Palette</td>
</tr>
</table>
</div>
<br/>
<div class="mapItem" >
<table align="center">
@ -1078,73 +1070,21 @@
</tr>
</table>
</div>
</div>
<div id="spotSettingsDiv" class="settingsTabcontent" style="background-color:#00000044;text-shadow: 0 0 5px #000000FF;">
<div class="mapItem" id="spotPathColorDiv">
<table align="center">
<tr align="center">
<td align="center" ><b>Spot Color</b></td>
</tr>
<tr align="center" >
<td colspan=2><input type="range" min="-1" max="361" value="-1" class="slider" id="spotPathColorValue" oninput="spotPathChange();" onkeyup="redrawSpots();" onmouseup="redrawSpots();"/></td>
</tr>
<tr align="center">
<td id="spotPathInfoTd">PSK-Reporter Palette</td>
</tr>
</table>
</div>
<div class="mapItem" id="spotNightPathColorDiv" style="display:none">
<table align="center">
<tr align="center">
<td align="center" ><b>Night Spot Color</b></td>
</tr>
<tr align="center" >
<td colspan=2><input type="range" min="-1" max="361" value="-1" class="slider" id="spotNightPathColorValue" oninput="spotPathChange();" onkeyup="redrawSpots();" onmouseup="redrawSpots();"/></td>
</tr>
<tr align="center">
<td id="spotNightPathInfoTd">PSK-Reporter Palette</td>
</tr>
</table>
</div>
<br/>
<div class="mapItem" id="spotPathsDiv">
<table align="center">
<tr>
<td title="Toggle flight paths to spots">PSK-Reporter Spot Paths</td>
</tr>
<tr>
<td title="Toggle flight paths to spots"><input type="checkbox" id="spotPathsValue" onclick="changeSpotValues();redrawSpots();" /></td>
</tr>
</table>
</div>
<div class="mapItem" id="spotPathWidthDiv">
<div class="mapItem" id="spotPathWidthDiv">
<table align="center">
<tr>
<td align="center">Spot Path Width</td>
<td align="center">PSK-Spot Path Width</td>
<td align="left" id="spotWidthTd">1.5</td>
</tr>
<tr align="center">
<td colspan=2><input type="range" min="0.0" max="5" value="1.5" step="0.05" class="slider" id="spotWidthValue" oninput="spotPathChange();" onkeyup="redrawSpots();" onmouseup="redrawSpots();"/></td>
</tr>
</table>
</div>
<br/>
<div class="mapItem" >
<table align="center">
<tr>
<td title="Place RX Spots over Grid Layer">Spots over Grids</td>
</tr>
<tr>
<td title="Place RX Spots over Grid Layer"><input type="checkbox" id="spotMergeValue" onclick="changeSpotValues();redrawSpots();" /></td>
</tr>
</table>
</div>
</div>
</div>
<div id="logSettingsDiv" class="settingsTabcontent">
<div id="LoadAdifOnStartupDiv" style="left:0;padding:1px;overflow:auto;overflow-x:hidden;display:inline-block;height:602px" class="roundBorder">
<table class='darkTable' align=center>
@ -1318,7 +1258,7 @@
<td></td>
</tr>
<tr>
<td>N3FJP ACLog</td>
<td>N3FJP Loggers</td>
<td></td>
<td></td>
<td><input type="checkbox" checked="false" class="inputTextValue" id="buttonacLogCheckBox" onclick=" ValidateIPaddress(acLogIpInput,this); ValidatePort(acLogPortInput,this, null ); acLogLoggerChanged(); " /></td>
@ -1805,7 +1745,9 @@
&copy;2020 Stephen "Tag" Loomis / N&Oslash;TTL<br />
<br />
&copy;2020 Henry "atouk" Forte / N2VFL<br/>
<br />
<p>
<H3>Contributors</H3>
<b>NR&Oslash;Q</b> - "d3jake" KE&Oslash;RIY - "Don" KB2YSI - K4KPW
<br />
<img src="./gridview.png" /> <br />

Wyświetl plik

@ -1,100 +1,108 @@
<!--center>
<img style=" display: inline-block;" src="./img/award-medal.svg" width="75px">
<div style=" display: inline-block;font-size:36px;font-weight:bold;vertical-align:top;padding-top:15px;">
Award Tracker is here! &nbsp;
</div>
<img style=" display: inline-block;" src="./img/award-trophy.svg" width="75px">
</center-->
<center>
<img src="./img/roster-button.svg" width="120px"><br/>
<font size="larger">
This is the last release until we have documentation ready or there is a bug.<p>
All feature requests will be added to the backlog.<p>
We will prioritize them in our public #Round-Table room on our Discord server.<p>
Here is a link to our Discord server. <a href="https://discord.gg/j9Cv9XU" target="_blank" style="font-weight:bold;color:cyan">Link</a><p>
</font>
<i>We recommend downloading the Discord app instead of using the browser.</i>
</center>
<pre>
[v1.20.0821] August 21st, 2020
GridTracker:
I have improved the UI/UX (User interface/User Experience) in this release
I have moved buttons around &amp; items are labeled for clarity
Most items/buttons that you can interact with have a tooltip
Simply hover your mouse-pointer over an item/field/button &amp; it will describe it
Main Window:
Update:
"Call Roster + Award Tracker" Text button now a
"Call Roster + Award" Icon button
"Lookup" Icon button less creepy
New:
"?" Icon button toggles the Hotkey List
In the next release it will open documentation
"Timezone" Icon button toggles Timezone layer
"Radar" Icon button toggles US Nexrad Weather layer
Hotkey List:
Ordered by Key for clarity
Added Version to header
Map:
Fixed:
"Timezone" layer very slow to react
Settings:
Update:
Merged Spots Tab with Map Tab to make room for Logbook Tab
Logbook:
New Tab!:
"Working Callsign(s)"
When enabled, filter your logbooks by callsigns
eg: "N0TTL,N0OAW,KE0PEA"
"Working Date"
When enabled, filter your logbooks by anything on or after date
Lookups:
Update:
Callsign Database now list instead of boxes
Making room for more callsign databases
NR0Q found the Canadian call-db and will be in a future release
Downloads are now automatic and weekly when enabled
The US Database is only 10mb
US Callsign Database:
Fixed:
Corrupt/Incomplete database due to program close while downloading
GridTracker Main Window:
Update:
"Map View" renamed "Map View Filters"
"Callable Roster" renamed "Call Roster + Award Tracker"
Minimum width now 200 pixels (you can hide the map now)
New:
"Prop" added to "Map View Filters"
Propagation Mode for filtering Logbook data *only*
Live data view is unaffected
Update:
Removed "FFMA" and "GMA" award layers and replaced with "US48" layer
To view your Fred Fish Memorial "FFMA" Award:
Select "US48" hotkey (8) then;
Set your Band filter to "6m"
To view your AMSAT GridMaster "GMA" Award:
Select "US48" hotkey (8) then;
Set your Band & Mode filters to "Mixed"
Set your Prop filter to "Satellite"
Call Roster:
Update:
Callable Roster renamed to "Call Roster"
Fixed:
Award Tracking:
"Wanted" box remains as it's needed
Fix bad filtering flags
When enabling "Wanted" entities; right-click menu now tracks correctly
Issue with New/Unconfirmed callsigns not showing up at all
Return of the "strikeout" on callsigns that have been confirmed
by popular demand
Compact Mode:
Sorted by "Age" for now
(Will add a right-click menu to select sort type later on)
Added "DXCC" under "Callsign"
Tooltip(mouse-over) added with decode details
(Will add Worked/Confirmed status by band/mode later on)
PSK-Spots:
Fixed:
Memory issue when 1500 spots in 24 hours
Thanks to mister "I get out" NR0Q for finding this one
Logging:
Local Files(s)
Details:
Filename now has a tooltip with the full file path
Fixed:
Hide Controls/Show Controls getting out of sync when switching views
Below is the backlog of features that have been prioritized for the next
release *after* we get our first update to documentation in over 2 years!
Output from the most recent Round-Table discussion on new features...
Ordered by priority:
DX Logbook, HRD Logbook , N3FJP ACLog, Log4OM.. QSL Import and Synchronization
Create Award Tracker Stats Tab
Add Settings Window To Call Roster
Add New Ignores in "new settings window" in Call Roster
Add Callsign and DXCC right-click "Add Call/DXCC Watcher" + "Edit Watcher"
Add Lighting alert volume .. and mute override and media selector
Audio Alerts fix up
Thank you for reading the entire update!
Mention "phone-sofa" in any forum I read and I'll send you a GridTracker token
to the address associated with your callsign lookup
Please don't mention this easter-egg to anyone. I want to see who reads the update
To the 21 of you out of 650-ish, who downloaded and read the update in v1.20.0819:
I salute you! And I'll be shipping out tokens when I get a chance! Thank you!
</pre>
<center><img class="button" src="./img/tokens.jpg" width="400px"></center>

Wyświetl plik

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(0.878906, 0, 0, 0.878906, 36.273491, 36.273491)">
<path style="fill:#FFC10D;" d="M 250.001 47.353 C 138.386 47.353 47.355 138.228 47.355 249.999 C 47.355 361.771 138.229 452.648 250.001 452.648 C 361.616 452.648 452.647 361.774 452.647 250.002 C 452.647 138.23 361.616 47.353 250.001 47.353 Z"/>
<g transform="matrix(2.448987, 0, 0, 2.448987, -455.308258, -6.001185)">
<path style="fill:#194F82;" d="M288,139.313c-6.012,0-10.925,4.848-10.925,10.925v4.396c0,6.012,4.849,10.925,10.925,10.925 s10.925-4.848,10.925-10.925v-4.396C298.861,144.162,294.012,139.313,288,139.313z"/>
<path style="fill:#194F82;" d="M288,0c-57.665,0-104.533,46.933-104.533,104.533S230.4,209.067,288,209.067 s104.533-46.933,104.533-104.533S345.665,0,288,0z M288,187.281c-45.576,0-82.747-37.107-82.747-82.747S242.36,21.786,288,21.786 c45.576,0,82.747,37.107,82.747,82.747S333.576,187.281,288,187.281z"/>
<path style="fill:#194F82;" d="M296.081,44.412c-35.362-5.172-46.287,23.855-46.287,37.301c0,6.012,4.848,10.925,10.925,10.925 c6.077,0,10.731-4.848,10.925-10.925c0.323-8.986,9.503-19.653,20.04-15.968c5.883,2.069,11.055,6.271,12.347,12.347 c1.875,8.986-3.168,15.709-9.051,18.489c-10.796,5.107-17.842,16.097-17.842,27.798c0,6.012,4.848,10.925,10.925,10.925 c6.077,0,10.925-4.848,10.925-10.925c0-3.491,2.069-6.594,5.301-8.145c16.097-7.564,24.76-25.083,21.075-42.667 C322.327,59.281,308.558,46.287,296.081,44.412z"/>
</g>
</g>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
<g transform="matrix(1, 0, 0, 1, 82.247354, 53.825489)"/>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 2.4 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 4.5 KiB

Wyświetl plik

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Capa_1" x="0px" y="0px" width="462.406px" height="462.406px" viewBox="0 0 462.406 462.406" style="enable-background:new 0 0 462.406 462.406;" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="217.806" y1="-218.892" x2="217.806" y2="279.522" id="gradient-1" gradientTransform="matrix(-0.716123, 0.697973, -0.484537, -0.497134, 382.170738, 69.41588)">
<stop offset="0" style="stop-color: rgb(85, 114, 218);"/>
<stop offset="1" style="stop-color: rgb(253, 253, 253);"/>
</linearGradient>
</defs>
<g transform="matrix(0.927755, 0, 0, 0.927756, 16.702961, 16.703011)">
<path d="M 252.931 158.19 C 252.931 194.626 223.401 224.156 186.965 224.156 C 150.53 224.156 120.999 194.626 120.999 158.19 C 120.999 121.755 150.53 92.225 186.965 92.225 C 223.394 92.225 252.931 121.763 252.931 158.19 Z M 467.526 467.526 C 458.943 476.115 447.684 480.41 436.434 480.41 C 425.182 480.41 413.924 476.115 405.341 467.526 C 405.341 467.526 293.331 355.398 292.445 354.299 C 261.103 374.301 223.907 385.94 183.968 385.94 C 72.421 385.941 -18.004 295.515 -18.004 183.969 C -18.004 72.421 72.427 -18.004 183.969 -18.004 C 295.51 -18.004 385.941 72.421 385.941 183.968 C 385.941 223.906 374.301 261.103 354.3 292.445 C 355.399 293.323 467.527 405.341 467.527 405.341 C 484.705 422.509 484.705 450.352 467.526 467.526 Z M 343.862 183.968 C 343.862 95.662 272.274 24.074 183.969 24.074 C 95.663 24.074 24.075 95.662 24.075 183.968 C 24.075 234.929 47.947 280.292 85.086 309.574 C 89.916 273.777 120.518 246.152 157.641 246.152 L 216.277 246.152 C 251.877 246.152 281.524 271.541 288.164 305.19 C 322.247 275.866 343.862 232.453 343.862 183.968 Z" style="paint-order: stroke; stroke: rgb(56, 36, 230); stroke-width: 0px; fill: url(#gradient-1);"/>
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.8 KiB

Wyświetl plik

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
<path style="fill:#A4E276;" d="M488.727,186.182H325.818V23.273C325.818,10.418,315.398,0,302.545,0H256h-46.545
c-12.853,0-23.273,10.418-23.273,23.273v162.909H23.273C10.42,186.182,0,196.6,0,209.455v93.091
c0,12.853,10.42,23.273,23.273,23.273h162.909v162.909c0,12.853,10.42,23.273,23.273,23.273H256h46.545
c12.853,0,23.273-10.42,23.273-23.273V325.818h162.909c12.853,0,23.273-10.42,23.273-23.273v-93.091
C512,196.6,501.58,186.182,488.727,186.182z"/>
<path style="fill:#64C37D;" d="M209.455,0c-12.853,0-23.273,10.418-23.273,23.273v162.909H23.273C10.42,186.182,0,196.6,0,209.455
v93.091c0,12.853,10.42,23.273,23.273,23.273h162.909v162.909c0,12.853,10.42,23.273,23.273,23.273H256V0H209.455z"/>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.0 KiB

Wyświetl plik

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1.15723, 0, 0, 1.15723, -40.250763, -40.250763)">
<circle style="fill: rgb(0, 157, 26);" cx="256" cy="256" r="211.908"/>
<path style="fill:#4D4D4D;" d="M 255.996 406.842 C 172.823 406.842 105.155 339.176 105.155 256.001 C 105.155 172.826 172.821 105.16 255.996 105.16 C 296.288 105.16 334.168 120.85 362.658 149.342 C 366.294 152.978 366.294 158.873 362.658 162.508 C 359.022 166.144 353.127 166.144 349.492 162.508 C 324.519 137.534 291.316 123.781 255.997 123.781 C 183.091 123.781 123.776 183.094 123.776 256.002 C 123.776 328.91 183.089 388.223 255.997 388.223 C 328.905 388.223 388.218 328.91 388.218 256.002 C 388.218 250.86 392.386 246.692 397.528 246.692 C 402.67 246.692 406.838 250.86 406.838 256.002 C 406.837 339.174 339.169 406.842 255.996 406.842 Z"/>
<path style="fill: rgb(210, 210, 52);" d="M 255.996 265.311 C 253.614 265.311 251.231 264.402 249.413 262.584 C 245.777 258.948 245.777 253.053 249.413 249.418 L 399.221 99.609 C 402.857 95.973 408.752 95.973 412.387 99.609 C 416.023 103.245 416.023 109.14 412.387 112.775 L 262.579 262.584 C 260.761 264.403 258.378 265.311 255.996 265.311 Z"/>
<path style="fill:#F95428;" d="M 381.412 211.747 C 378.954 211.747 376.558 210.754 374.821 209.028 C 374.399 208.594 374.002 208.122 373.667 207.613 C 373.332 207.104 373.046 206.558 372.81 205.999 C 372.574 205.44 372.4 204.857 372.276 204.261 C 372.164 203.653 372.102 203.044 372.102 202.436 C 372.102 201.828 372.164 201.22 372.276 200.624 C 372.4 200.028 372.574 199.445 372.81 198.874 C 373.046 198.315 373.331 197.782 373.667 197.273 C 374.002 196.764 374.399 196.28 374.821 195.858 C 376.981 193.698 380.196 192.705 383.225 193.313 C 383.821 193.437 384.404 193.611 384.963 193.847 C 385.534 194.07 386.068 194.368 386.577 194.704 C 387.086 195.039 387.558 195.424 387.992 195.858 C 389.73 197.596 390.723 199.992 390.723 202.437 C 390.723 203.045 390.661 203.654 390.537 204.262 C 390.413 204.858 390.239 205.441 390.003 206 C 389.767 206.559 389.482 207.105 389.146 207.614 C 388.811 208.123 388.414 208.595 387.992 209.029 C 386.253 210.753 383.857 211.747 381.412 211.747 Z"/>
<path style="fill: rgba(6, 6, 6, 0.34);" d="M 256 477.218 C 134.02 477.218 34.782 377.98 34.782 256 C 34.782 134.02 134.02 34.782 256 34.782 C 377.98 34.782 477.218 134.02 477.218 256 C 477.218 377.98 377.98 477.218 256 477.218 Z M 256 53.402 C 144.288 53.402 53.402 144.288 53.402 256 C 53.402 367.712 144.288 458.598 256 458.598 C 367.712 458.598 458.598 367.712 458.598 256 C 458.598 144.288 367.712 53.402 256 53.402 Z"/>
<path style="fill:#4D4D4D;" d="M255.996,322.598c-36.721,0-66.595-29.875-66.595-66.596s29.874-66.595,66.595-66.595 c17.79,0,34.514,6.928,47.092,19.508c3.636,3.636,3.636,9.531,0,13.166c-3.636,3.636-9.531,3.636-13.166,0 c-9.062-9.063-21.11-14.053-33.927-14.053c-26.454,0-47.975,21.521-47.975,47.975s21.521,47.976,47.975,47.976 s47.976-21.522,47.976-47.976c0-5.142,4.168-9.31,9.31-9.31c5.142,0,9.31,4.168,9.31,9.31 C322.591,292.722,292.717,322.598,255.996,322.598z"/>
<path style="fill:#F95428;" d="M 372.186 223.129 C 369.728 223.129 367.332 222.136 365.595 220.41 C 365.173 219.976 364.776 219.504 364.441 218.995 C 364.106 218.486 363.82 217.94 363.584 217.381 C 363.348 216.822 363.174 216.239 363.05 215.643 C 362.938 215.035 362.876 214.426 362.876 213.818 C 362.876 213.21 362.938 212.602 363.05 212.006 C 363.174 211.41 363.348 210.827 363.584 210.256 C 363.82 209.697 364.105 209.164 364.441 208.655 C 364.776 208.146 365.173 207.662 365.595 207.24 C 367.755 205.08 370.97 204.087 373.999 204.695 C 374.595 204.819 375.178 204.993 375.737 205.229 C 376.308 205.452 376.842 205.75 377.351 206.086 C 377.86 206.421 378.332 206.806 378.766 207.24 C 380.504 208.978 381.497 211.374 381.497 213.819 C 381.497 214.427 381.435 215.036 381.311 215.644 C 381.187 216.24 381.013 216.823 380.777 217.382 C 380.541 217.941 380.256 218.487 379.92 218.996 C 379.585 219.505 379.188 219.977 378.766 220.411 C 377.027 222.135 374.631 223.129 372.186 223.129 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 395.043 192.654 C 392.585 192.654 390.189 191.661 388.452 189.935 C 388.03 189.501 387.633 189.029 387.298 188.52 C 386.963 188.011 386.677 187.465 386.441 186.906 C 386.205 186.347 386.031 185.764 385.907 185.168 C 385.795 184.56 385.733 183.951 385.733 183.343 C 385.733 182.735 385.795 182.127 385.907 181.531 C 386.031 180.935 386.205 180.352 386.441 179.781 C 386.677 179.222 386.962 178.689 387.298 178.18 C 387.633 177.671 388.03 177.187 388.452 176.765 C 390.612 174.605 393.827 173.612 396.856 174.22 C 397.452 174.344 398.035 174.518 398.594 174.754 C 399.165 174.977 399.699 175.275 400.208 175.611 C 400.717 175.946 401.189 176.331 401.623 176.765 C 403.361 178.503 404.354 180.899 404.354 183.344 C 404.354 183.952 404.292 184.561 404.168 185.169 C 404.044 185.765 403.87 186.348 403.634 186.907 C 403.398 187.466 403.113 188.012 402.777 188.521 C 402.442 189.03 402.045 189.502 401.623 189.936 C 399.884 191.66 397.488 192.654 395.043 192.654 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 395.043 192.654 C 392.585 192.654 390.189 191.661 388.452 189.935 C 388.03 189.501 387.633 189.029 387.298 188.52 C 386.963 188.011 386.677 187.465 386.441 186.906 C 386.205 186.347 386.031 185.764 385.907 185.168 C 385.795 184.56 385.733 183.951 385.733 183.343 C 385.733 182.735 385.795 182.127 385.907 181.531 C 386.031 180.935 386.205 180.352 386.441 179.781 C 386.677 179.222 386.962 178.689 387.298 178.18 C 387.633 177.671 388.03 177.187 388.452 176.765 C 390.612 174.605 393.827 173.612 396.856 174.22 C 397.452 174.344 398.035 174.518 398.594 174.754 C 399.165 174.977 399.699 175.275 400.208 175.611 C 400.717 175.946 401.189 176.331 401.623 176.765 C 403.361 178.503 404.354 180.899 404.354 183.344 C 404.354 183.952 404.292 184.561 404.168 185.169 C 404.044 185.765 403.87 186.348 403.634 186.907 C 403.398 187.466 403.113 188.012 402.777 188.521 C 402.442 189.03 402.045 189.502 401.623 189.936 C 399.884 191.66 397.488 192.654 395.043 192.654 Z" transform="matrix(1, 0, 0, 1, 25.03314, 13.060962)"/>
<path style="fill: rgb(75, 249, 40);" d="M 395.043 192.654 C 392.585 192.654 390.189 191.661 388.452 189.935 C 388.03 189.501 387.633 189.029 387.298 188.52 C 386.963 188.011 386.677 187.465 386.441 186.906 C 386.205 186.347 386.031 185.764 385.907 185.168 C 385.795 184.56 385.733 183.951 385.733 183.343 C 385.733 182.735 385.795 182.127 385.907 181.531 C 386.031 180.935 386.205 180.352 386.441 179.781 C 386.677 179.222 386.962 178.689 387.298 178.18 C 387.633 177.671 388.03 177.187 388.452 176.765 C 390.612 174.605 393.827 173.612 396.856 174.22 C 397.452 174.344 398.035 174.518 398.594 174.754 C 399.165 174.977 399.699 175.275 400.208 175.611 C 400.717 175.946 401.189 176.331 401.623 176.765 C 403.361 178.503 404.354 180.899 404.354 183.344 C 404.354 183.952 404.292 184.561 404.168 185.169 C 404.044 185.765 403.87 186.348 403.634 186.907 C 403.398 187.466 403.113 188.012 402.777 188.521 C 402.442 189.03 402.045 189.502 401.623 189.936 C 399.884 191.66 397.488 192.654 395.043 192.654 Z" transform="matrix(1, 0, 0, 1, 25.03314, 13.060962)"/>
<path style="fill: rgb(75, 249, 40);" d="M 401.573 201.362 C 399.115 201.362 396.719 200.369 394.982 198.643 C 394.56 198.209 394.163 197.737 393.828 197.228 C 393.493 196.719 393.207 196.173 392.971 195.614 C 392.735 195.055 392.561 194.472 392.437 193.876 C 392.325 193.268 392.263 192.659 392.263 192.051 C 392.263 191.443 392.325 190.835 392.437 190.239 C 392.561 189.643 392.735 189.06 392.971 188.489 C 393.207 187.93 393.492 187.397 393.828 186.888 C 394.163 186.379 394.56 185.895 394.982 185.473 C 397.142 183.313 400.357 182.32 403.386 182.928 C 403.982 183.052 404.565 183.226 405.124 183.462 C 405.695 183.685 406.229 183.983 406.738 184.319 C 407.247 184.654 407.719 185.039 408.153 185.473 C 409.891 187.211 410.884 189.607 410.884 192.052 C 410.884 192.66 410.822 193.269 410.698 193.877 C 410.574 194.473 410.4 195.056 410.164 195.615 C 409.928 196.174 409.643 196.72 409.307 197.229 C 408.972 197.738 408.575 198.21 408.153 198.644 C 406.414 200.368 404.018 201.362 401.573 201.362 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 395.043 192.654 C 392.585 192.654 390.189 191.661 388.452 189.935 C 388.03 189.501 387.633 189.029 387.298 188.52 C 386.963 188.011 386.677 187.465 386.441 186.906 C 386.205 186.347 386.031 185.764 385.907 185.168 C 385.795 184.56 385.733 183.951 385.733 183.343 C 385.733 182.735 385.795 182.127 385.907 181.531 C 386.031 180.935 386.205 180.352 386.441 179.781 C 386.677 179.222 386.962 178.689 387.298 178.18 C 387.633 177.671 388.03 177.187 388.452 176.765 C 390.612 174.605 393.827 173.612 396.856 174.22 C 397.452 174.344 398.035 174.518 398.594 174.754 C 399.165 174.977 399.699 175.275 400.208 175.611 C 400.717 175.946 401.189 176.331 401.623 176.765 C 403.361 178.503 404.354 180.899 404.354 183.344 C 404.354 183.952 404.292 184.561 404.168 185.169 C 404.044 185.765 403.87 186.348 403.634 186.907 C 403.398 187.466 403.113 188.012 402.777 188.521 C 402.442 189.03 402.045 189.502 401.623 189.936 C 399.884 191.66 397.488 192.654 395.043 192.654 Z" transform="matrix(1, 0, 0, 1, 23.944737, 14.149365)"/>
<path style="fill: rgb(249, 249, 40);" d="M 386.88 201.906 C 384.422 201.906 382.026 200.913 380.289 199.187 C 379.867 198.753 379.47 198.281 379.135 197.772 C 378.8 197.263 378.514 196.717 378.278 196.158 C 378.042 195.599 377.868 195.016 377.744 194.42 C 377.632 193.812 377.57 193.203 377.57 192.595 C 377.57 191.987 377.632 191.379 377.744 190.783 C 377.868 190.187 378.042 189.604 378.278 189.033 C 378.514 188.474 378.799 187.941 379.135 187.432 C 379.47 186.923 379.867 186.439 380.289 186.017 C 382.449 183.857 385.664 182.864 388.693 183.472 C 389.289 183.596 389.872 183.77 390.431 184.006 C 391.002 184.229 391.536 184.527 392.045 184.863 C 392.554 185.198 393.026 185.583 393.46 186.017 C 395.198 187.755 396.191 190.151 396.191 192.596 C 396.191 193.204 396.129 193.813 396.005 194.421 C 395.881 195.017 395.707 195.6 395.471 196.159 C 395.235 196.718 394.95 197.264 394.614 197.773 C 394.279 198.282 393.882 198.754 393.46 199.188 C 391.721 200.912 389.325 201.906 386.88 201.906 Z"/>
<path style="fill: rgb(249, 239, 40);" d="M 392.866 223.129 C 390.408 223.129 388.012 222.136 386.275 220.41 C 385.853 219.976 385.456 219.504 385.121 218.995 C 384.786 218.486 384.5 217.94 384.264 217.381 C 384.028 216.822 383.854 216.239 383.73 215.643 C 383.618 215.035 383.556 214.426 383.556 213.818 C 383.556 213.21 383.618 212.602 383.73 212.006 C 383.854 211.41 384.028 210.827 384.264 210.256 C 384.5 209.697 384.785 209.164 385.121 208.655 C 385.456 208.146 385.853 207.662 386.275 207.24 C 388.435 205.08 391.65 204.087 394.679 204.695 C 395.275 204.819 395.858 204.993 396.417 205.229 C 396.988 205.452 397.522 205.75 398.031 206.086 C 398.54 206.421 399.012 206.806 399.446 207.24 C 401.184 208.978 402.177 211.374 402.177 213.819 C 402.177 214.427 402.115 215.036 401.991 215.644 C 401.867 216.24 401.693 216.823 401.457 217.382 C 401.221 217.941 400.936 218.487 400.6 218.996 C 400.265 219.505 399.868 219.977 399.446 220.411 C 397.707 222.135 395.311 223.129 392.866 223.129 Z"/>
<path style="fill: rgb(255, 255, 255);" d="M 424.974 188.845 C 422.516 188.845 420.12 187.852 418.383 186.126 C 417.961 185.692 417.564 185.22 417.229 184.711 C 416.894 184.202 416.608 183.656 416.372 183.097 C 416.136 182.538 415.962 181.955 415.838 181.359 C 415.726 180.751 415.664 180.142 415.664 179.534 C 415.664 178.926 415.726 178.318 415.838 177.722 C 415.962 177.126 416.136 176.543 416.372 175.972 C 416.608 175.413 416.893 174.88 417.229 174.371 C 417.564 173.862 417.961 173.378 418.383 172.956 C 420.543 170.796 423.758 169.803 426.787 170.411 C 427.383 170.535 427.966 170.709 428.525 170.945 C 429.096 171.168 429.63 171.466 430.139 171.802 C 430.648 172.137 431.12 172.522 431.554 172.956 C 433.292 174.694 434.285 177.09 434.285 179.535 C 434.285 180.143 434.223 180.752 434.099 181.36 C 433.975 181.956 433.801 182.539 433.565 183.098 C 433.329 183.657 433.044 184.203 432.708 184.712 C 432.373 185.221 431.976 185.693 431.554 186.127 C 429.815 187.851 427.419 188.845 424.974 188.845 Z"/>
<path style="fill: rgb(255, 255, 255);" d="M 411.913 193.743 C 409.455 193.743 407.059 192.75 405.322 191.024 C 404.9 190.59 404.503 190.118 404.168 189.609 C 403.833 189.1 403.547 188.554 403.311 187.995 C 403.075 187.436 402.901 186.853 402.777 186.257 C 402.665 185.649 402.603 185.04 402.603 184.432 C 402.603 183.824 402.665 183.216 402.777 182.62 C 402.901 182.024 403.075 181.441 403.311 180.87 C 403.547 180.311 403.832 179.778 404.168 179.269 C 404.503 178.76 404.9 178.276 405.322 177.854 C 407.482 175.694 410.697 174.701 413.726 175.309 C 414.322 175.433 414.905 175.607 415.464 175.843 C 416.035 176.066 416.569 176.364 417.078 176.7 C 417.587 177.035 418.059 177.42 418.493 177.854 C 420.231 179.592 421.224 181.988 421.224 184.433 C 421.224 185.041 421.162 185.65 421.038 186.258 C 420.914 186.854 420.74 187.437 420.504 187.996 C 420.268 188.555 419.983 189.101 419.647 189.61 C 419.312 190.119 418.915 190.591 418.493 191.025 C 416.754 192.749 414.358 193.743 411.913 193.743 Z"/>
<path style="fill: rgb(249, 249, 40);" d="M 403.206 256.598 C 400.748 256.598 398.352 255.605 396.615 253.879 C 396.193 253.445 395.796 252.973 395.461 252.464 C 395.126 251.955 394.84 251.409 394.604 250.85 C 394.368 250.291 394.194 249.708 394.07 249.112 C 393.958 248.504 393.896 247.895 393.896 247.287 C 393.896 246.679 393.958 246.071 394.07 245.475 C 394.194 244.879 394.368 244.296 394.604 243.725 C 394.84 243.166 395.125 242.633 395.461 242.124 C 395.796 241.615 396.193 241.131 396.615 240.709 C 398.775 238.549 401.99 237.556 405.019 238.164 C 405.615 238.288 406.198 238.462 406.757 238.698 C 407.328 238.921 407.862 239.219 408.371 239.555 C 408.88 239.89 409.352 240.275 409.786 240.709 C 411.524 242.447 412.517 244.843 412.517 247.288 C 412.517 247.896 412.455 248.505 412.331 249.113 C 412.207 249.709 412.033 250.292 411.797 250.851 C 411.561 251.41 411.276 251.956 410.94 252.465 C 410.605 252.974 410.208 253.446 409.786 253.88 C 408.047 255.604 405.651 256.598 403.206 256.598 Z"/>
<path style="fill: rgb(249, 249, 40);" d="M 399.94 240.272 C 397.482 240.272 395.086 239.279 393.349 237.553 C 392.927 237.119 392.53 236.647 392.195 236.138 C 391.86 235.629 391.574 235.083 391.338 234.524 C 391.102 233.965 390.928 233.382 390.804 232.786 C 390.692 232.178 390.63 231.569 390.63 230.961 C 390.63 230.353 390.692 229.745 390.804 229.149 C 390.928 228.553 391.102 227.97 391.338 227.399 C 391.574 226.84 391.859 226.307 392.195 225.798 C 392.53 225.289 392.927 224.805 393.349 224.383 C 395.509 222.223 398.724 221.23 401.753 221.838 C 402.349 221.962 402.932 222.136 403.491 222.372 C 404.062 222.595 404.596 222.893 405.105 223.229 C 405.614 223.564 406.086 223.949 406.52 224.383 C 408.258 226.121 409.251 228.517 409.251 230.962 C 409.251 231.57 409.189 232.179 409.065 232.787 C 408.941 233.383 408.767 233.966 408.531 234.525 C 408.295 235.084 408.01 235.63 407.674 236.139 C 407.339 236.648 406.942 237.12 406.52 237.554 C 404.781 239.278 402.385 240.272 399.94 240.272 Z"/>
<path style="fill: rgb(249, 249, 40);" d="M 399.941 228.299 C 397.483 228.299 395.087 227.306 393.35 225.58 C 392.928 225.146 392.531 224.674 392.196 224.165 C 391.861 223.656 391.575 223.11 391.339 222.551 C 391.103 221.992 390.929 221.409 390.805 220.813 C 390.693 220.205 390.631 219.596 390.631 218.988 C 390.631 218.38 390.693 217.772 390.805 217.176 C 390.929 216.58 391.103 215.997 391.339 215.426 C 391.575 214.867 391.86 214.334 392.196 213.825 C 392.531 213.316 392.928 212.832 393.35 212.41 C 395.51 210.25 398.725 209.257 401.754 209.865 C 402.35 209.989 402.933 210.163 403.492 210.399 C 404.063 210.622 404.597 210.92 405.106 211.256 C 405.615 211.591 406.087 211.976 406.521 212.41 C 408.259 214.148 409.252 216.544 409.252 218.989 C 409.252 219.597 409.19 220.206 409.066 220.814 C 408.942 221.41 408.768 221.993 408.532 222.552 C 408.296 223.111 408.011 223.657 407.675 224.166 C 407.34 224.675 406.943 225.147 406.521 225.581 C 404.782 227.305 402.386 228.299 399.941 228.299 Z"/>
<path style="fill:#F95428;" d="M 372.186 223.129 C 369.728 223.129 367.332 222.136 365.595 220.41 C 365.173 219.976 364.776 219.504 364.441 218.995 C 364.106 218.486 363.82 217.94 363.584 217.381 C 363.348 216.822 363.174 216.239 363.05 215.643 C 362.938 215.035 362.876 214.426 362.876 213.818 C 362.876 213.21 362.938 212.602 363.05 212.006 C 363.174 211.41 363.348 210.827 363.584 210.256 C 363.82 209.697 364.105 209.164 364.441 208.655 C 364.776 208.146 365.173 207.662 365.595 207.24 C 367.755 205.08 370.97 204.087 373.999 204.695 C 374.595 204.819 375.178 204.993 375.737 205.229 C 376.308 205.452 376.842 205.75 377.351 206.086 C 377.86 206.421 378.332 206.806 378.766 207.24 C 380.504 208.978 381.497 211.374 381.497 213.819 C 381.497 214.427 381.435 215.036 381.311 215.644 C 381.187 216.24 381.013 216.823 380.777 217.382 C 380.541 217.941 380.256 218.487 379.92 218.996 C 379.585 219.505 379.188 219.977 378.766 220.411 C 377.027 222.135 374.631 223.129 372.186 223.129 Z" transform="matrix(1, 0, 0, 1, 5.98662, 1.633016)"/>
<path style="fill:#F95428;" d="M 381.982 232.925 C 379.524 232.925 377.128 231.932 375.391 230.206 C 374.969 229.772 374.572 229.3 374.237 228.791 C 373.902 228.282 373.616 227.736 373.38 227.177 C 373.144 226.618 372.97 226.035 372.846 225.439 C 372.734 224.831 372.672 224.222 372.672 223.614 C 372.672 223.006 372.734 222.398 372.846 221.802 C 372.97 221.206 373.144 220.623 373.38 220.052 C 373.616 219.493 373.901 218.96 374.237 218.451 C 374.572 217.942 374.969 217.458 375.391 217.036 C 377.551 214.876 380.766 213.883 383.795 214.491 C 384.391 214.615 384.974 214.789 385.533 215.025 C 386.104 215.248 386.638 215.546 387.147 215.882 C 387.656 216.217 388.128 216.602 388.562 217.036 C 390.3 218.774 391.293 221.17 391.293 223.615 C 391.293 224.223 391.231 224.832 391.107 225.44 C 390.983 226.036 390.809 226.619 390.573 227.178 C 390.337 227.737 390.052 228.283 389.716 228.792 C 389.381 229.301 388.984 229.773 388.562 230.207 C 386.823 231.931 384.427 232.925 381.982 232.925 Z"/>
<path style="fill:#F95428;" d="M 382.526 234.558 C 380.068 234.558 377.672 233.565 375.935 231.839 C 375.513 231.405 375.116 230.933 374.781 230.424 C 374.446 229.915 374.16 229.369 373.924 228.81 C 373.688 228.251 373.514 227.668 373.39 227.072 C 373.278 226.464 373.216 225.855 373.216 225.247 C 373.216 224.639 373.278 224.031 373.39 223.435 C 373.514 222.839 373.688 222.256 373.924 221.685 C 374.16 221.126 374.445 220.593 374.781 220.084 C 375.116 219.575 375.513 219.091 375.935 218.669 C 378.095 216.509 381.31 215.516 384.339 216.124 C 384.935 216.248 385.518 216.422 386.077 216.658 C 386.648 216.881 387.182 217.179 387.691 217.515 C 388.2 217.85 388.672 218.235 389.106 218.669 C 390.844 220.407 391.837 222.803 391.837 225.248 C 391.837 225.856 391.775 226.465 391.651 227.073 C 391.527 227.669 391.353 228.252 391.117 228.811 C 390.881 229.37 390.596 229.916 390.26 230.425 C 389.925 230.934 389.528 231.406 389.106 231.84 C 387.367 233.564 384.971 234.558 382.526 234.558 Z"/>
<path style="fill:#F95428;" d="M 372.186 223.129 C 369.728 223.129 367.332 222.136 365.595 220.41 C 365.173 219.976 364.776 219.504 364.441 218.995 C 364.106 218.486 363.82 217.94 363.584 217.381 C 363.348 216.822 363.174 216.239 363.05 215.643 C 362.938 215.035 362.876 214.426 362.876 213.818 C 362.876 213.21 362.938 212.602 363.05 212.006 C 363.174 211.41 363.348 210.827 363.584 210.256 C 363.82 209.697 364.105 209.164 364.441 208.655 C 364.776 208.146 365.173 207.662 365.595 207.24 C 367.755 205.08 370.97 204.087 373.999 204.695 C 374.595 204.819 375.178 204.993 375.737 205.229 C 376.308 205.452 376.842 205.75 377.351 206.086 C 377.86 206.421 378.332 206.806 378.766 207.24 C 380.504 208.978 381.497 211.374 381.497 213.819 C 381.497 214.427 381.435 215.036 381.311 215.644 C 381.187 216.24 381.013 216.823 380.777 217.382 C 380.541 217.941 380.256 218.487 379.92 218.996 C 379.585 219.505 379.188 219.977 378.766 220.411 C 377.027 222.135 374.631 223.129 372.186 223.129 Z" transform="matrix(1, 0, 0, 1, 13.06124, 12.517046)"/>
<path style="fill:#F95428;" d="M 372.186 223.129 C 369.728 223.129 367.332 222.136 365.595 220.41 C 365.173 219.976 364.776 219.504 364.441 218.995 C 364.106 218.486 363.82 217.94 363.584 217.381 C 363.348 216.822 363.174 216.239 363.05 215.643 C 362.938 215.035 362.876 214.426 362.876 213.818 C 362.876 213.21 362.938 212.602 363.05 212.006 C 363.174 211.41 363.348 210.827 363.584 210.256 C 363.82 209.697 364.105 209.164 364.441 208.655 C 364.776 208.146 365.173 207.662 365.595 207.24 C 367.755 205.08 370.97 204.087 373.999 204.695 C 374.595 204.819 375.178 204.993 375.737 205.229 C 376.308 205.452 376.842 205.75 377.351 206.086 C 377.86 206.421 378.332 206.806 378.766 207.24 C 380.504 208.978 381.497 211.374 381.497 213.819 C 381.497 214.427 381.435 215.036 381.311 215.644 C 381.187 216.24 381.013 216.823 380.777 217.382 C 380.541 217.941 380.256 218.487 379.92 218.996 C 379.585 219.505 379.188 219.977 378.766 220.411 C 377.027 222.135 374.631 223.129 372.186 223.129 Z" transform="matrix(1, 0, 0, 1, 13.06124, 15.238053)"/>
<path style="fill:#F95428;" d="M 388.512 248.707 C 386.054 248.707 383.658 247.714 381.921 245.988 C 381.499 245.554 381.102 245.082 380.767 244.573 C 380.432 244.064 380.146 243.518 379.91 242.959 C 379.674 242.4 379.5 241.817 379.376 241.221 C 379.264 240.613 379.202 240.004 379.202 239.396 C 379.202 238.788 379.264 238.18 379.376 237.584 C 379.5 236.988 379.674 236.405 379.91 235.834 C 380.146 235.275 380.431 234.742 380.767 234.233 C 381.102 233.724 381.499 233.24 381.921 232.818 C 384.081 230.658 387.296 229.665 390.325 230.273 C 390.921 230.397 391.504 230.571 392.063 230.807 C 392.634 231.03 393.168 231.328 393.677 231.664 C 394.186 231.999 394.658 232.384 395.092 232.818 C 396.83 234.556 397.823 236.952 397.823 239.397 C 397.823 240.005 397.761 240.614 397.637 241.222 C 397.513 241.818 397.339 242.401 397.103 242.96 C 396.867 243.519 396.582 244.065 396.246 244.574 C 395.911 245.083 395.514 245.555 395.092 245.989 C 393.353 247.713 390.957 248.707 388.512 248.707 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 403.75 207.348 C 401.292 207.348 398.896 206.355 397.159 204.629 C 396.737 204.195 396.34 203.723 396.005 203.214 C 395.67 202.705 395.384 202.159 395.148 201.6 C 394.912 201.041 394.738 200.458 394.614 199.862 C 394.502 199.254 394.44 198.645 394.44 198.037 C 394.44 197.429 394.502 196.821 394.614 196.225 C 394.738 195.629 394.912 195.046 395.148 194.475 C 395.384 193.916 395.669 193.383 396.005 192.874 C 396.34 192.365 396.737 191.881 397.159 191.459 C 399.319 189.299 402.534 188.306 405.563 188.914 C 406.159 189.038 406.742 189.212 407.301 189.448 C 407.872 189.671 408.406 189.969 408.915 190.305 C 409.424 190.64 409.896 191.025 410.33 191.459 C 412.068 193.197 413.061 195.593 413.061 198.038 C 413.061 198.646 412.999 199.255 412.875 199.863 C 412.751 200.459 412.577 201.042 412.341 201.601 C 412.105 202.16 411.82 202.706 411.484 203.215 C 411.149 203.724 410.752 204.196 410.33 204.63 C 408.591 206.354 406.195 207.348 403.75 207.348 Z" transform="matrix(1, 0, 0, 1, 19.047147, 4.89738)"/>
<path style="fill: rgb(75, 249, 40);" d="M 418.444 220.953 C 415.986 220.953 413.59 219.96 411.853 218.234 C 411.431 217.8 411.034 217.328 410.699 216.819 C 410.364 216.31 410.078 215.764 409.842 215.205 C 409.606 214.646 409.432 214.063 409.308 213.467 C 409.196 212.859 409.134 212.25 409.134 211.642 C 409.134 211.034 409.196 210.426 409.308 209.83 C 409.432 209.234 409.606 208.651 409.842 208.08 C 410.078 207.521 410.363 206.988 410.699 206.479 C 411.034 205.97 411.431 205.486 411.853 205.064 C 414.013 202.904 417.228 201.911 420.257 202.519 C 420.853 202.643 421.436 202.817 421.995 203.053 C 422.566 203.276 423.1 203.574 423.609 203.91 C 424.118 204.245 424.59 204.63 425.024 205.064 C 426.762 206.802 427.755 209.198 427.755 211.643 C 427.755 212.251 427.693 212.86 427.569 213.468 C 427.445 214.064 427.271 214.647 427.035 215.206 C 426.799 215.765 426.514 216.311 426.178 216.82 C 425.843 217.329 425.446 217.801 425.024 218.235 C 423.285 219.959 420.889 220.953 418.444 220.953 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 411.369 234.013 C 408.911 234.013 406.515 233.02 404.778 231.294 C 404.356 230.86 403.959 230.388 403.624 229.879 C 403.289 229.37 403.003 228.824 402.767 228.265 C 402.531 227.706 402.357 227.123 402.233 226.527 C 402.121 225.919 402.059 225.31 402.059 224.702 C 402.059 224.094 402.121 223.486 402.233 222.89 C 402.357 222.294 402.531 221.711 402.767 221.14 C 403.003 220.581 403.288 220.048 403.624 219.539 C 403.959 219.03 404.356 218.546 404.778 218.124 C 406.938 215.964 410.153 214.971 413.182 215.579 C 413.778 215.703 414.361 215.877 414.92 216.113 C 415.491 216.336 416.025 216.634 416.534 216.97 C 417.043 217.305 417.515 217.69 417.949 218.124 C 419.687 219.862 420.68 222.258 420.68 224.703 C 420.68 225.311 420.618 225.92 420.494 226.528 C 420.37 227.124 420.196 227.707 419.96 228.266 C 419.724 228.825 419.439 229.371 419.103 229.88 C 418.768 230.389 418.371 230.861 417.949 231.295 C 416.21 233.019 413.814 234.013 411.369 234.013 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 405.927 217.687 C 403.469 217.687 401.073 216.694 399.336 214.968 C 398.914 214.534 398.517 214.062 398.182 213.553 C 397.847 213.044 397.561 212.498 397.325 211.939 C 397.089 211.38 396.915 210.797 396.791 210.201 C 396.679 209.593 396.617 208.984 396.617 208.376 C 396.617 207.768 396.679 207.16 396.791 206.564 C 396.915 205.968 397.089 205.385 397.325 204.814 C 397.561 204.255 397.846 203.722 398.182 203.213 C 398.517 202.704 398.914 202.22 399.336 201.798 C 401.496 199.638 404.711 198.645 407.74 199.253 C 408.336 199.377 408.919 199.551 409.478 199.787 C 410.049 200.01 410.583 200.308 411.092 200.644 C 411.601 200.979 412.073 201.364 412.507 201.798 C 414.245 203.536 415.238 205.932 415.238 208.377 C 415.238 208.985 415.176 209.594 415.052 210.202 C 414.928 210.798 414.754 211.381 414.518 211.94 C 414.282 212.499 413.997 213.045 413.661 213.554 C 413.326 214.063 412.929 214.535 412.507 214.969 C 410.768 216.693 408.372 217.687 405.927 217.687 Z"/>
<path style="fill: rgb(255, 255, 255);" d="M 425.518 204.627 C 423.06 204.627 420.664 203.634 418.927 201.908 C 418.505 201.474 418.108 201.002 417.773 200.493 C 417.438 199.984 417.152 199.438 416.916 198.879 C 416.68 198.32 416.506 197.737 416.382 197.141 C 416.27 196.533 416.208 195.924 416.208 195.316 C 416.208 194.708 416.27 194.1 416.382 193.504 C 416.506 192.908 416.68 192.325 416.916 191.754 C 417.152 191.195 417.437 190.662 417.773 190.153 C 418.108 189.644 418.505 189.16 418.927 188.738 C 421.087 186.578 424.302 185.585 427.331 186.193 C 427.927 186.317 428.51 186.491 429.069 186.727 C 429.64 186.95 430.174 187.248 430.683 187.584 C 431.192 187.919 431.664 188.304 432.098 188.738 C 433.836 190.476 434.829 192.872 434.829 195.317 C 434.829 195.925 434.767 196.534 434.643 197.142 C 434.519 197.738 434.345 198.321 434.109 198.88 C 433.873 199.439 433.588 199.985 433.252 200.494 C 432.917 201.003 432.52 201.475 432.098 201.909 C 430.359 203.633 427.963 204.627 425.518 204.627 Z"/>
<path style="fill: rgb(249, 249, 40);" d="M 389.601 212.245 C 387.143 212.245 384.747 211.252 383.01 209.526 C 382.588 209.092 382.191 208.62 381.856 208.111 C 381.521 207.602 381.235 207.056 380.999 206.497 C 380.763 205.938 380.589 205.355 380.465 204.759 C 380.353 204.151 380.291 203.542 380.291 202.934 C 380.291 202.326 380.353 201.718 380.465 201.122 C 380.589 200.526 380.763 199.943 380.999 199.372 C 381.235 198.813 381.52 198.28 381.856 197.771 C 382.191 197.262 382.588 196.778 383.01 196.356 C 385.17 194.196 388.385 193.203 391.414 193.811 C 392.01 193.935 392.593 194.109 393.152 194.345 C 393.723 194.568 394.257 194.866 394.766 195.202 C 395.275 195.537 395.747 195.922 396.181 196.356 C 397.919 198.094 398.912 200.49 398.912 202.935 C 398.912 203.543 398.85 204.152 398.726 204.76 C 398.602 205.356 398.428 205.939 398.192 206.498 C 397.956 207.057 397.671 207.603 397.335 208.112 C 397 208.621 396.603 209.093 396.181 209.527 C 394.442 211.251 392.046 212.245 389.601 212.245 Z"/>
<path style="fill: rgb(75, 249, 40);" d="M 408.104 211.157 C 405.646 211.157 403.25 210.164 401.513 208.438 C 401.091 208.004 400.694 207.532 400.359 207.023 C 400.024 206.514 399.738 205.968 399.502 205.409 C 399.266 204.85 399.092 204.267 398.968 203.671 C 398.856 203.063 398.794 202.454 398.794 201.846 C 398.794 201.238 398.856 200.63 398.968 200.034 C 399.092 199.438 399.266 198.855 399.502 198.284 C 399.738 197.725 400.023 197.192 400.359 196.683 C 400.694 196.174 401.091 195.69 401.513 195.268 C 403.673 193.108 406.888 192.115 409.917 192.723 C 410.513 192.847 411.096 193.021 411.655 193.257 C 412.226 193.48 412.76 193.778 413.269 194.114 C 413.778 194.449 414.25 194.834 414.684 195.268 C 416.422 197.006 417.415 199.402 417.415 201.847 C 417.415 202.455 417.353 203.064 417.229 203.672 C 417.105 204.268 416.931 204.851 416.695 205.41 C 416.459 205.969 416.174 206.515 415.838 207.024 C 415.503 207.533 415.106 208.005 414.684 208.439 C 412.945 210.163 410.549 211.157 408.104 211.157 Z"/>
<path style="fill:#F95428;" d="M 389.057 265.033 C 386.599 265.033 384.203 264.04 382.466 262.314 C 382.044 261.88 381.647 261.408 381.312 260.899 C 380.977 260.39 380.691 259.844 380.455 259.285 C 380.219 258.726 380.045 258.143 379.921 257.547 C 379.809 256.939 379.747 256.33 379.747 255.722 C 379.747 255.114 379.809 254.506 379.921 253.91 C 380.045 253.314 380.219 252.731 380.455 252.16 C 380.691 251.601 380.976 251.068 381.312 250.559 C 381.647 250.05 382.044 249.566 382.466 249.144 C 384.626 246.984 387.841 245.991 390.87 246.599 C 391.466 246.723 392.049 246.897 392.608 247.133 C 393.179 247.356 393.713 247.654 394.222 247.99 C 394.731 248.325 395.203 248.71 395.637 249.144 C 397.375 250.882 398.368 253.278 398.368 255.723 C 398.368 256.331 398.306 256.94 398.182 257.548 C 398.058 258.144 397.884 258.727 397.648 259.286 C 397.412 259.845 397.127 260.391 396.791 260.9 C 396.456 261.409 396.059 261.881 395.637 262.315 C 393.898 264.039 391.502 265.033 389.057 265.033 Z"/>
<path style="fill: rgb(249, 249, 40);" d="M 412.457 250.339 C 409.999 250.339 407.603 249.346 405.866 247.62 C 405.444 247.186 405.047 246.714 404.712 246.205 C 404.377 245.696 404.091 245.15 403.855 244.591 C 403.619 244.032 403.445 243.449 403.321 242.853 C 403.209 242.245 403.147 241.636 403.147 241.028 C 403.147 240.42 403.209 239.812 403.321 239.216 C 403.445 238.62 403.619 238.037 403.855 237.466 C 404.091 236.907 404.376 236.374 404.712 235.865 C 405.047 235.356 405.444 234.872 405.866 234.45 C 408.026 232.29 411.241 231.297 414.27 231.905 C 414.866 232.029 415.449 232.203 416.008 232.439 C 416.579 232.662 417.113 232.96 417.622 233.296 C 418.131 233.631 418.603 234.016 419.037 234.45 C 420.775 236.188 421.768 238.584 421.768 241.029 C 421.768 241.637 421.706 242.246 421.582 242.854 C 421.458 243.45 421.284 244.033 421.048 244.592 C 420.812 245.151 420.527 245.697 420.191 246.206 C 419.856 246.715 419.459 247.187 419.037 247.621 C 417.298 249.345 414.902 250.339 412.457 250.339 Z"/>
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 31 KiB

Wyświetl plik

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 948.148 512" xmlns="http://www.w3.org/2000/svg">
<g id="XMLID_848_" transform="matrix(1.706854, 0, 0, 1.462857, 461.694611, 0)" style="">
<polygon id="XMLID_37_" style="fill:#003778;" points="65.001,60 122.713,43.592 172.713,190 115,206.408 &#9;"/>
<polygon id="XMLID_36_" style="fill:#0052B4;" points="285,60 227.287,43.592 177.287,190 235,206.408 &#9;"/>
<circle id="XMLID_849_" style="fill:#FF9811;" cx="175" cy="260" r="90"/>
<path id="XMLID_850_" style="fill:#BF720D;" d="M175,350c-49.705,0-90-40.295-90-90c0-49.706,40.295-90,90-90"/>
<circle id="XMLID_851_" style="fill:#FFDA44;" cx="175" cy="260" r="60"/>
<rect id="XMLID_852_" x="65" style="fill: rgb(0, 82, 180);" width="110.443" height="60"/>
<rect id="XMLID_853_" x="175" style="fill:#006DF0;" width="110" height="60"/>
</g>
<g id="XMLID_1088_" transform="matrix(2.002172, 0, 0, 1.462238, -110.119476, 0.108337)" style="">
<rect id="XMLID_1089_" x="55" y="30" style="fill: rgb(255, 218, 68); stroke-linejoin: round; stroke-linecap: round;" width="240" height="320"/>
<circle id="XMLID_1091_" style="fill:#006DF0;" cx="175" cy="30" r="30"/>
<path id="XMLID_1092_" style="fill:#0052B4;" d="M175,60c-16.568,0-30-13.432-30-30s13.432-30,30-30"/>
<rect id="XMLID_1093_" x="105" y="30" style="fill: rgb(0, 82, 180);" width="70.926" height="50"/>
<rect id="XMLID_1094_" x="175" y="30" style="fill:#006DF0;" width="70" height="50"/>
<rect id="XMLID_1090_" x="108.776" y="124.555" style="stroke-linecap: round; stroke-linejoin: round; stroke-width: 5.77299px; fill: rgb(110, 110, 110); stroke: rgb(110, 110, 110);" width="167.856" height="30"/>
<polyline id="XMLID_1095_" style="fill: none; stroke-miterlimit: 10; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(212, 4, 0); stroke-width: 17.8963px;" points="65.761 133.876 85.319 164.992 124.436 102.758"/>
<rect id="rect-5" x="108.776" y="193.664" style="stroke-linecap: round; stroke-linejoin: round; stroke-width: 5.77299px; fill: rgb(110, 110, 110); stroke: rgb(110, 110, 110);" width="167.856" height="30"/>
<rect id="rect-6" x="108.898" y="264.223" style="stroke-linecap: round; stroke-linejoin: round; stroke-width: 5.77299px; fill: rgb(110, 110, 110); stroke: rgb(110, 110, 110);" width="167.856" height="30"/>
<polyline id="polyline-1" style="fill: none; stroke-miterlimit: 10; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(212, 4, 0); stroke-width: 17.8963px;" points="65.883 273.544 85.441 304.66 124.558 242.426"/>
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 2.5 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 2.0 KiB

Wyświetl plik

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 350 350" style="enable-background:new 0 0 350 350;" xml:space="preserve">
<g id="XMLID_1088_">
<rect id="XMLID_1089_" x="55" y="30" style="fill:#FFDA44;" width="240" height="320"/>
<rect id="XMLID_1090_" x="175" y="130" style="fill:#FFFFFF;" width="90" height="30"/>
<circle id="XMLID_1091_" style="fill:#006DF0;" cx="175" cy="30" r="30"/>
<path id="XMLID_1092_" style="fill:#0052B4;" d="M175,60c-16.568,0-30-13.432-30-30s13.432-30,30-30"/>
<rect id="XMLID_1093_" x="105" y="30" style="fill:#0052B4;" width="70" height="50"/>
<rect id="XMLID_1094_" x="175" y="30" style="fill:#006DF0;" width="70" height="50"/>
<polyline id="XMLID_1095_" style="fill:none;stroke:#FF9811;stroke-width:30;stroke-miterlimit:10;" points="85,140 105,160
145,120 "/>
<rect id="XMLID_1096_" x="175" y="200" style="fill:#FFFFFF;" width="90" height="30"/>
<polyline id="XMLID_1097_" style="fill:none;stroke:#FF9811;stroke-width:30;stroke-miterlimit:10;" points="85,210 105,230
145,190 "/>
<rect id="XMLID_1098_" x="175" y="270" style="fill:#FFFFFF;" width="90" height="30"/>
<polyline id="XMLID_1099_" style="fill:none;stroke:#FF9811;stroke-width:30;stroke-miterlimit:10;" points="85,280 105,300
145,260 "/>
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.5 KiB

Wyświetl plik

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 256 256" width="256px" height="256px" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient gradientUnits="userSpaceOnUse" x1="26.024" y1="47.137" x2="26.024" y2="47.222" id="gradient-8">
<stop offset="0" style="stop-color: rgba(82, 214, 0, 1)"/>
<stop offset="1" style="stop-color: rgba(43, 112, 0, 1)"/>
</linearGradient>
<linearGradient gradientUnits="userSpaceOnUse" x1="24" y1="-0.687" x2="24" y2="47.312" id="gradient-9">
<stop offset="0" style="stop-color: rgba(82, 214, 0, 1)"/>
<stop offset="1" style="stop-color: rgb(0, 18, 151);"/>
</linearGradient>
</defs>
<g transform="matrix(5.333333, 0, 0, 5.258077, 0, 3.612299)">
<path d="M36,24c-6.627,0-12,5.373-12,12s5.373,12,12,12s12-5.373,12-12S42.627,24,36,24z M36,46 c-5.523,0-10-4.477-10-10s4.477-10,10-10s10,4.477,10,10S41.523,46,36,46z" style="paint-order: fill; fill: rgb(152, 152, 152);"/>
<rect height="1.5" width="1.5" x="35.25" y="27.5" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<rect height="1.5" width="1.5" x="27.5" y="35.25" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<rect height="1.5" transform="matrix(0.7068 0.7074 -0.7074 0.7068 33.7364 -20.4359)" width="1.501" x="40.77" y="29.729" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<rect height="1.5" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 22.868 92.3511)" width="1.5" x="29.811" y="40.69" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<rect height="1.501" transform="matrix(0.7071 0.7071 -0.7071 0.7071 30.5199 -12.6415)" width="1.5" x="29.77" y="29.77" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<rect height="1.5" transform="matrix(-0.7071 -0.7071 0.7071 -0.7071 41.4805 100.1427)" width="1.5" x="40.731" y="40.731" style="paint-order: fill; fill: rgb(214, 214, 214);"/>
<polygon points="35.25,35.25 35.25,36 35.25,36.75 35.25,43 35.25,44.5 36.75,44.5 36.75,43 36.75,36.75 43,36.75 44.5,36.75 44.5,35.25 43,35.25 " style="paint-order: fill; fill: rgb(255, 255, 255);"/>
<path d="M26.015,47.222c0.017-0.001,0.032-0.005,0.049-0.007c-0.027-0.024-0.052-0.054-0.079-0.078 C25.994,47.164,26.005,47.194,26.015,47.222z" style="paint-order: fill; fill: url(#gradient-8);"/>
<path d="M16.403,34.099c-0.215-0.463-0.319-0.724-0.319-0.724h5.16c0.596-3.369,2.313-6.342,4.756-8.533V19.25 h7.566c0.096,0.635,0.167,1.28,0.218,1.932C34.509,21.074,35.245,21,36,21c0.543,0,1.077,0.032,1.604,0.088 c-0.043-0.618-0.099-1.232-0.174-1.838h6.155C43.856,20.562,44,21.92,44,23.312c0,0.005-0.001,0.009-0.001,0.014 c1.428,0.903,2.692,2.034,3.739,3.351C47.894,25.575,48,24.458,48,23.312c0-12.576-9.675-22.886-21.986-23.91 C26.009-0.6,26.005-0.604,26-0.607v0.009c-0.66-0.054-1.326-0.089-2-0.089s-1.34,0.035-2,0.089v-0.009 c-0.005,0.003-0.009,0.007-0.014,0.01C9.675,0.427,0,10.736,0,23.312s9.674,22.886,21.986,23.909 c0.005,0.004,0.009,0.008,0.014,0.011v-0.01c0.66,0.055,1.326,0.09,2,0.09s1.34-0.035,2-0.09v0.01 c0.005-0.003,0.01-0.007,0.015-0.011c-3.987-3.825-6.612-7.686-8.157-10.355C17.318,35.99,16.836,35.063,16.403,34.099z M42.295,15.25h-5.626c-1.002-3.905-2.704-7.44-4.943-10.388C36.443,6.84,40.232,10.578,42.295,15.25z M26,4.818 c2.988,2.605,5.321,6.223,6.647,10.432H26V4.818z M22,29.375h-7.183c-0.443-1.932-0.688-3.962-0.688-6.062 c0-1.387,0.106-2.744,0.304-4.062H22V29.375z M22,4.818V15.25h-6.647C16.679,11.041,19.012,7.423,22,4.818z M16.274,4.862 c-2.239,2.947-3.941,6.483-4.943,10.388H5.706C7.768,10.578,11.557,6.84,16.274,4.862z M4.941,29.375 C4.333,27.462,4,25.427,4,23.312c0-1.392,0.144-2.75,0.415-4.062h6.154c-0.165,1.326-0.256,2.681-0.256,4.062 c0,2.085,0.204,4.111,0.571,6.062H4.941z M6.735,33.375h5.182c1.027,3.114,2.508,5.953,4.358,8.388 C12.253,40.077,8.915,37.106,6.735,33.375z" style="paint-order: fill; fill: url(#gradient-9);"/>
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 3.8 KiB

Wyświetl plik

@ -95,6 +95,11 @@ function onAdiLoadComplete( adiBuffer, saveAdifFile, adifFileName, newFile)
var finalVucc = [];
var finalDXcall = findAdiField(activeAdifArray[x], "CALL").replace("_","/");
var finalDEcall = findAdiField(activeAdifArray[x], "STATION_CALLSIGN").replace("_","/");
if ( finalDEcall == "" )
finalDEcall = myDEcall;
if ( g_appSettings.workingCallsignEnable && !(finalDEcall in g_appSettings.workingCallsigns) )
continue;
var finalRSTsent = findAdiField(activeAdifArray[x], "RST_SENT");
var finalRSTrecv = findAdiField(activeAdifArray[x], "RST_RCVD");
var finalBand = findAdiField(activeAdifArray[x], "BAND").toLowerCase();
@ -147,9 +152,7 @@ function onAdiLoadComplete( adiBuffer, saveAdifFile, adifFileName, newFile)
finalDxcc = Number(callsignToDxcc( finalDXcall ));
// If my callsign isn't present, it must be for me anyway
if ( finalDEcall == "" )
finalDEcall = myDEcall;
var finalCqZone = findAdiField(activeAdifArray[x], "CQZ");
if ( finalCqZone.length == 1 )
finalCqZone = "0" + finalCqZone;
@ -177,6 +180,10 @@ function onAdiLoadComplete( adiBuffer, saveAdifFile, adifFileName, newFile)
var dateTime = new Date(Date.UTC(dateVal.substr(0,4), parseInt(dateVal.substr(4,2))-1,dateVal.substr(6,2), timeVal.substr(0,2), timeVal.substr(2,2),timeVal.substr(4,2)));
var finalTime = parseInt(dateTime.getTime()/1000);
if ( g_appSettings.workingDateEnable && finalTime < g_appSettings.workingDate )
continue;
finalGrid = finalGrid.substr(0,6);
if ( !validateGridFromString(finalGrid) )
finalGrid = "";

Wyświetl plik

@ -12,7 +12,7 @@ var g_ulsCallsignsCount = 0;
var g_ulsWhenDate = 0;
var g_ulsLoadTimer = null;
var g_ulsDownloadPending = false;
var g_oqrsCallsigns = Object();
var g_oqrsFile = "";
var g_oqrsWhenDate = 0;
@ -72,27 +72,18 @@ function saveCallsignSettings()
function lotwLoadCallsigns()
{
if ( g_callsignLookups.lotwWeeklyEnable == true )
var now = timeNowSec();
if ( now - g_callsignLookups.lotwLastUpdate > (86400 * 7) )
g_callsignLookups.lotwLastUpdate = 0;
else
{
var now = timeNowSec();
if ( now - g_callsignLookups.lotwLastUpdate > (86400 * 7) )
g_callsignLookups.lotwLastUpdate = 0;
else
{
var lotwWhenTimer = (86400 * 7) - (now - g_callsignLookups.lotwLastUpdate);
g_lotwWhenDate = now + lotwWhenTimer;
g_lotwLoadTimer = setTimeout(lotwDownload,(lotwWhenTimer)*1000);
}
}
else
{
if ( g_lotwLoadTimer != null )
{
clearTimeout(g_lotwLoadTimer);
g_lotwLoadTimer = null;
g_lotwWhenTimer = 0;
}
var lotwWhenTimer = (86400 * 7) - (now - g_callsignLookups.lotwLastUpdate);
g_lotwWhenDate = now + lotwWhenTimer;
g_lotwLoadTimer = setTimeout(lotwDownload,(lotwWhenTimer)*1000);
}
if (!fs.existsSync(g_lotwFile))
{
@ -116,50 +107,32 @@ function lotwLoadCallsigns()
function lotwSettingsDisplay()
{
lotwUseEnable.checked = g_callsignLookups.lotwUseEnable;
lotwWeeklyEnable.checked = g_callsignLookups.lotwWeeklyEnable;
if ( g_callsignLookups.lotwLastUpdate == 0 )
{
lotwUpdatedTd.innerHTML = "<b>Never</b>";
lotwWhenTd.innerHTML = "<b>Never</b>";
lotwUpdatedTd.innerHTML = "Never";
}
else
{
lotwUpdatedTd.innerHTML = "<b>"+userTimeString(g_callsignLookups.lotwLastUpdate * 1000)+"</b>";
lotwWhenTd.innerHTML = "<b>"+userTimeString(g_lotwWhenDate * 1000) + "</b>";
lotwUpdatedTd.innerHTML = userTimeString(g_callsignLookups.lotwLastUpdate * 1000);
}
if ( g_callsignLookups.lotwUseEnable )
if ( !g_callsignLookups.lotwUseEnable )
{
lotwWeeklyTd.style.display = "table-cell";
lotwNowTd.style.display = "table-cell";
lotwCountTd.style.display = "table-cell";
if ( lotwWeeklyEnable.checked == true )
lotwWhenTr.style.display = "table-row";
else
lotwWhenTr.style.display = "none";
lotwLastTr.style.display = "table-row";
}
else
{
lotwWeeklyTd.style.display = "none";
lotwNowTd.style.display = "none";
lotwCountTd.style.display = "none";
lotwWhenTr.style.display = "none";
lotwLastTr.style.display = "none";
if ( g_lotwLoadTimer != null )
clearTimeout(g_lotwLoadTimer);
g_lotwLoadTimer = null;
g_lotwCallsigns = Object();
}
lotwCountTd.innerHTML = Object.keys(g_lotwCallsigns).length + " callsigns found";
lotwCountTd.innerHTML = Object.keys(g_lotwCallsigns).length;
}
function lotwValuesChanged()
{
g_callsignLookups.lotwUseEnable = lotwUseEnable.checked;
g_callsignLookups.lotwWeeklyEnable = lotwWeeklyEnable.checked;
saveCallsignSettings();
if ( g_callsignLookups.lotwUseEnable == true )
{
@ -185,7 +158,8 @@ function processLotwCallsigns(result, flag)
{
//var result = String(buffer);
var lines = Array();
lines = result.split("\n");
lines = result.split("\n");
delete result;
var lotwCallsigns = Object();
for ( x in lines )
{
@ -196,18 +170,17 @@ function processLotwCallsigns(result, flag)
lotwCallsigns[breakout[0]] = parseInt(dateTime.getTime() / 1000)/86400;
}
}
delete lines;
g_callsignLookups.lotwLastUpdate = timeNowSec();
if ( g_callsignLookups.lotwWeeklyEnable == true )
{
var now = timeNowSec();
if ( g_lotwLoadTimer != null )
clearTimeout(g_lotwLoadTimer);
var lotwWhenTimer = (86400 * 7) - (now - g_callsignLookups.lotwLastUpdate);
g_lotwWhenDate = now + lotwWhenTimer;
g_lotwLoadTimer = setTimeout(lotwDownload,(lotwWhenTimer)*1000);
}
var now = timeNowSec();
if ( g_lotwLoadTimer != null )
clearTimeout(g_lotwLoadTimer);
var lotwWhenTimer = (86400 * 7) - (now - g_callsignLookups.lotwLastUpdate);
g_lotwWhenDate = now + lotwWhenTimer;
g_lotwLoadTimer = setTimeout(lotwDownload,(lotwWhenTimer)*1000);
if ( Object.keys(lotwCallsigns).length > 100 )
{
g_lotwCallsigns = lotwCallsigns;
@ -220,26 +193,15 @@ function processLotwCallsigns(result, flag)
function oqrsLoadCallsigns()
{
if ( g_callsignLookups.oqrsWeeklyEnable == true )
var now = timeNowSec();
if ( now - g_callsignLookups.oqrsLastUpdate > (86400 * 7) )
g_callsignLookups.oqrsLastUpdate = 0;
else
{
var now = timeNowSec();
if ( now - g_callsignLookups.oqrsLastUpdate > (86400 * 7) )
g_callsignLookups.oqrsLastUpdate = 0;
else
{
var oqrsWhenTimer = (86400 * 7) - (now - g_callsignLookups.oqrsLastUpdate);
g_oqrsWhenDate = now + oqrsWhenTimer;
g_oqrsLoadTimer = setTimeout(oqrsDownload,(oqrsWhenTimer)*1000);
}
}
else
{
if ( g_oqrsLoadTimer != null )
{
clearTimeout(g_oqrsLoadTimer);
g_oqrsLoadTimer = null;
g_oqrsWhenTimer = 0;
}
var oqrsWhenTimer = (86400 * 7) - (now - g_callsignLookups.oqrsLastUpdate);
g_oqrsWhenDate = now + oqrsWhenTimer;
g_oqrsLoadTimer = setTimeout(oqrsDownload,(oqrsWhenTimer)*1000);
}
if (!fs.existsSync(g_oqrsFile))
@ -260,50 +222,33 @@ function oqrsLoadCallsigns()
function oqrsSettingsDisplay()
{
oqrsUseEnable.checked = g_callsignLookups.oqrsUseEnable;
oqrsWeeklyEnable.checked = g_callsignLookups.oqrsWeeklyEnable;
if ( g_callsignLookups.oqrsLastUpdate == 0 )
{
oqrsUpdatedTd.innerHTML = "<b>Never</b>";
oqrsWhenTd.innerHTML = "<b>Never</b>";
oqrsUpdatedTd.innerHTML = "Never";
}
else
{
oqrsUpdatedTd.innerHTML = "<b>"+userTimeString(g_callsignLookups.oqrsLastUpdate * 1000)+"</b>";
oqrsWhenTd.innerHTML = "<b>"+userTimeString(g_oqrsWhenDate * 1000) + "</b>";
oqrsUpdatedTd.innerHTML = userTimeString(g_callsignLookups.oqrsLastUpdate * 1000);
}
if ( g_callsignLookups.oqrsUseEnable )
if ( !g_callsignLookups.oqrsUseEnable )
{
oqrsWeeklyTd.style.display = "table-cell";
oqrsNowTd.style.display = "table-cell";
oqrsCountTd.style.display = "table-cell";
if ( oqrsWeeklyEnable.checked == true )
oqrsWhenTr.style.display = "table-row";
else
oqrsWhenTr.style.display = "none";
oqrsLastTr.style.display = "table-row";
}
else
{
oqrsWeeklyTd.style.display = "none";
oqrsNowTd.style.display = "none";
oqrsCountTd.style.display = "none";
oqrsWhenTr.style.display = "none";
oqrsLastTr.style.display = "none";
if ( g_oqrsLoadTimer != null )
clearTimeout(g_oqrsLoadTimer);
g_oqrsLoadTimer = null;
g_oqrsCallsigns = Object();
}
oqrsCountTd.innerHTML = Object.keys(g_oqrsCallsigns).length + " callsigns found";
oqrsCountTd.innerHTML = Object.keys(g_oqrsCallsigns).length;
}
function oqrsValuesChanged()
{
g_callsignLookups.oqrsUseEnable = oqrsUseEnable.checked;
g_callsignLookups.oqrsWeeklyEnable = oqrsWeeklyEnable.checked;
saveCallsignSettings();
if ( g_callsignLookups.oqrsUseEnable == true )
{
@ -328,16 +273,15 @@ function processoqrsCallsigns(buffer, flag)
g_oqrsCallsigns = JSON.parse(buffer);
g_callsignLookups.oqrsLastUpdate = timeNowSec();
if ( g_callsignLookups.oqrsWeeklyEnable == true )
{
var now = timeNowSec();
if ( g_oqrsLoadTimer != null )
clearTimeout(g_oqrsLoadTimer);
var oqrsWhenTimer = (86400 * 7) - (now - g_callsignLookups.oqrsLastUpdate);
g_oqrsWhenDate = now + oqrsWhenTimer;
g_oqrsLoadTimer = setTimeout(oqrsDownload,(oqrsWhenTimer)*1000);
}
var now = timeNowSec();
if ( g_oqrsLoadTimer != null )
clearTimeout(g_oqrsLoadTimer);
var oqrsWhenTimer = (86400 * 7) - (now - g_callsignLookups.oqrsLastUpdate);
g_oqrsWhenDate = now + oqrsWhenTimer;
g_oqrsLoadTimer = setTimeout(oqrsDownload,(oqrsWhenTimer)*1000);
fs.writeFileSync(g_oqrsFile, JSON.stringify(g_oqrsCallsigns));
oqrsSettingsDisplay();
@ -345,27 +289,17 @@ function processoqrsCallsigns(buffer, flag)
function eqslLoadCallsigns()
{
if ( g_callsignLookups.eqslWeeklyEnable == true )
var now = timeNowSec();
if ( now - g_callsignLookups.eqslLastUpdate > (86400 * 7) )
g_callsignLookups.eqslLastUpdate = 0;
else
{
var now = timeNowSec();
if ( now - g_callsignLookups.eqslLastUpdate > (86400 * 7) )
g_callsignLookups.eqslLastUpdate = 0;
else
{
var eqslWhenTimer = (86400 * 7) - (now - g_callsignLookups.eqslLastUpdate);
g_eqslWhenDate = now + eqslWhenTimer;
g_eqslLoadTimer = setTimeout(eqslDownload,(eqslWhenTimer)*1000);
}
}
else
{
if ( g_eqslLoadTimer != null )
{
clearTimeout(g_eqslLoadTimer);
g_eqslLoadTimer = null;
g_eqslWhenTimer = 0;
}
var eqslWhenTimer = (86400 * 7) - (now - g_callsignLookups.eqslLastUpdate);
g_eqslWhenDate = now + eqslWhenTimer;
g_eqslLoadTimer = setTimeout(eqslDownload,(eqslWhenTimer)*1000);
}
if (!fs.existsSync(g_eqslFile))
{
@ -385,50 +319,32 @@ function eqslLoadCallsigns()
function eqslSettingsDisplay()
{
eqslUseEnable.checked = g_callsignLookups.eqslUseEnable;
eqslWeeklyEnable.checked = g_callsignLookups.eqslWeeklyEnable;
if ( g_callsignLookups.eqslLastUpdate == 0 )
{
eqslUpdatedTd.innerHTML = "<b>Never</b>";
eqslWhenTd.innerHTML = "<b>Never</b>";
eqslUpdatedTd.innerHTML = "Never";
}
else
{
eqslUpdatedTd.innerHTML = "<b>"+userTimeString(g_callsignLookups.eqslLastUpdate * 1000)+"</b>";
eqslWhenTd.innerHTML = "<b>"+userTimeString(g_eqslWhenDate * 1000) + "</b>";
eqslUpdatedTd.innerHTML = userTimeString(g_callsignLookups.eqslLastUpdate * 1000);
}
if ( g_callsignLookups.eqslUseEnable )
if ( !g_callsignLookups.eqslUseEnable )
{
eqslWeeklyTd.style.display = "table-cell";
eqslNowTd.style.display = "table-cell";
eqslCountTd.style.display = "table-cell";
if ( eqslWeeklyEnable.checked == true )
eqslWhenTr.style.display = "table-row";
else
eqslWhenTr.style.display = "none";
eqslLastTr.style.display = "table-row";
}
else
{
eqslWeeklyTd.style.display = "none";
eqslNowTd.style.display = "none";
eqslCountTd.style.display = "none";
eqslWhenTr.style.display = "none";
eqslLastTr.style.display = "none";
if ( g_eqslLoadTimer != null )
clearTimeout(g_eqslLoadTimer);
g_eqslLoadTimer = null;
g_eqslCallsigns = Object();
}
eqslCountTd.innerHTML = Object.keys(g_eqslCallsigns).length + " callsigns found";
eqslCountTd.innerHTML = Object.keys(g_eqslCallsigns).length;
}
function eqslValuesChanged()
{
g_callsignLookups.eqslUseEnable = eqslUseEnable.checked;
g_callsignLookups.eqslWeeklyEnable = eqslWeeklyEnable.checked;
saveCallsignSettings();
if ( g_callsignLookups.eqslUseEnable == true )
{
@ -456,21 +372,21 @@ function processeqslCallsigns(buffer, flag)
g_eqslCallsigns = Object();
for ( x in lines )
{
g_eqslCallsigns[lines[x].trim()] = 1;
g_eqslCallsigns[lines[x].trim()] = true;
}
g_callsignLookups.eqslLastUpdate = timeNowSec();
if ( g_callsignLookups.eqslWeeklyEnable == true )
{
var now = timeNowSec();
if ( g_eqslLoadTimer != null )
clearTimeout(g_eqslLoadTimer);
var eqslWhenTimer = (86400 * 7) - (now - g_callsignLookups.eqslLastUpdate);
g_eqslWhenDate = now + eqslWhenTimer;
g_eqslLoadTimer = setTimeout(eqslDownload,(eqslWhenTimer)*1000);
}
var now = timeNowSec();
if ( g_eqslLoadTimer != null )
clearTimeout(g_eqslLoadTimer);
var eqslWhenTimer = (86400 * 7) - (now - g_callsignLookups.eqslLastUpdate);
g_eqslWhenDate = now + eqslWhenTimer;
g_eqslLoadTimer = setTimeout(eqslDownload,(eqslWhenTimer)*1000);
if ( Object.keys(g_eqslCallsigns).length > 10000 )
fs.writeFileSync(g_eqslFile, JSON.stringify(g_eqslCallsigns));
fs.writeFileSync(g_eqslFile, JSON.stringify(g_eqslCallsigns));
eqslSettingsDisplay();
}
@ -484,32 +400,61 @@ function ulsLoadCallsigns()
}
if ( g_callsignLookups.ulsWeeklyEnable == true )
{
var now = timeNowSec();
if ( now - g_callsignLookups.ulsLastUpdate > (86400 * 7) )
g_callsignLookups.ulsLastUpdate = 0;
else
{
var ulsWhenTimer = (86400 * 7) - (now - g_callsignLookups.ulsLastUpdate);
g_ulsWhenDate = now + ulsWhenTimer;
g_ulsLoadTimer = setTimeout(ulsDownload,(ulsWhenTimer)*1000);
}
}
if ( g_callsignLookups.ulsLastUpdate == 0 )
{
var now = timeNowSec();
if ( now - g_callsignLookups.ulsLastUpdate > (86400 * 7) )
ulsDownload();
}
else
else
{
updateCallsignCount(true);
var ulsWhenTimer = (86400 * 7) - (now - g_callsignLookups.ulsLastUpdate);
g_ulsWhenDate = now + ulsWhenTimer;
g_ulsLoadTimer = setTimeout(ulsDownload,(ulsWhenTimer)*1000);
updateCallsignCount();
}
}
function updateCallsignCount( shouldDownload = false )
function updateQSO()
{
if ( g_ulsCallsignsCount > 0 )
{
for ( hash in g_QSOhash )
{
var details = g_QSOhash[hash];
var lookupCall = false;
if ( (details.cnty == null || details.state == null) && isKnownCallsignDXCC(details.dxcc))
{
// Do County Lookup
lookupCall = true;
}
else if (details.cnty != null && isKnownCallsignUSplus(details.dxcc))
{
if (!(details.cnty in g_cntyToCounty))
{
if (details.cnty.indexOf(",") == -1)
{
if (!(details.state + "," + details.cnty in g_cntyToCounty))
lookupCall = true;
}
else
lookupCall = true;
}
}
if (lookupCall)
{
if (g_callsignLookups.ulsUseEnable)
{
lookupUsCallsign(details);
}
}
}
}
}
function updateCallsignCount()
{
g_ulsDatabase.transaction(function (tx) {
tx.executeSql('SELECT count(*) as cnt FROM calls', [], function (tx, results)
@ -517,51 +462,11 @@ function updateCallsignCount( shouldDownload = false )
var len = results.rows.length, i;
if ( len == 1 )
{
g_ulsCallsignsCount = results.rows[0]["cnt"];
ulsCountTd.innerHTML = g_ulsCallsignsCount + " callsigns found";
if ( g_ulsCallsignsCount > 0 )
{
for ( hash in g_QSOhash )
{
var details = g_QSOhash[hash];
var lookupCall = false;
if ( (details.cnty == null || details.state == null) && (details.dxcc == 291 || details.dxcc == 110 || details.dxcc == 6 || details.dxcc == 202))
{
// Do County Lookup
lookupCall = true;
}
else if (details.cnty != null && (details.dxcc == 291 || details.dxcc == 110 || details.dxcc == 6 || details.dxcc == 202))
{
if (!(details.cnty in g_cntyToCounty))
{
if (details.cnty.indexOf(",") == -1)
{
if (!(details.state + "," + details.cnty in g_cntyToCounty))
lookupCall = true;
}
else
lookupCall = true;
}
}
if (lookupCall)
{
if (g_callsignLookups.ulsUseEnable)
{
lookupUsCallsign(details);
}
}
}
}
else
{
ulsDownload();
}
}
else
{
ulsDownload();
g_ulsCallsignsCount = results.rows[0]["cnt"];
ulsCountTd.innerHTML = g_ulsCallsignsCount;
updateQSO();
}
}, null);
@ -572,75 +477,52 @@ function updateCallsignCount( shouldDownload = false )
function ulsSettingsDisplay()
{
ulsUseEnable.checked = g_callsignLookups.ulsUseEnable;
ulsWeeklyEnable.checked = g_callsignLookups.ulsWeeklyEnable;
if ( g_callsignLookups.ulsLastUpdate == 0 )
{
ulsUpdatedTd.innerHTML = "<b>Never</b>";
ulsWhenTd.innerHTML = "<b>Never</b>";
ulsUpdatedTd.innerHTML = "Never";
}
else
{
ulsUpdatedTd.innerHTML = "<b>"+userTimeString(g_callsignLookups.ulsLastUpdate * 1000)+"</b>";
ulsWhenTd.innerHTML = "<b>"+userTimeString(g_ulsWhenDate * 1000) + "</b>";
ulsUpdatedTd.innerHTML = userTimeString(g_callsignLookups.ulsLastUpdate * 1000);
}
if ( g_callsignLookups.ulsUseEnable )
if ( !g_callsignLookups.ulsUseEnable )
{
ulsWeeklyTd.style.display = "table-cell";
ulsNowTd.style.display = "table-cell";
ulsCountTd.style.display = "table-cell";
if ( ulsWeeklyEnable.checked == true )
ulsWhenTr.style.display = "table-row";
else
ulsWhenTr.style.display = "none";
ulsLastTr.style.display = "table-row";
}
else
{
ulsWeeklyTd.style.display = "none";
ulsNowTd.style.display = "none";
ulsCountTd.style.display = "none";
ulsWhenTr.style.display = "none";
ulsLastTr.style.display = "none";
if ( g_ulsLoadTimer != null )
clearTimeout(g_ulsLoadTimer);
g_ulsLoadTimer = null;
g_ulsCallsignsCount = 0;
ulsCountTd.innerHTML = g_ulsCallsignsCount;
}
}
function ulsValuesChanged()
{
g_callsignLookups.ulsUseEnable = ulsUseEnable.checked;
g_callsignLookups.ulsWeeklyEnable = ulsWeeklyEnable.checked;
saveCallsignSettings();
if ( g_callsignLookups.ulsUseEnable == true )
{
ulsLoadCallsigns();
}
else
g_callsignToState = Object();
{
resetULSDatabase();
ulsCountTd.innerHTML = 0;
}
saveCallsignSettings();
ulsSettingsDisplay();
goProcessRoster();
if ( g_callRosterWindowHandle )
g_callRosterWindowHandle.window.resize();
}
function ulsDownload(fromSettings)
function ulsDownload()
{
if ( g_ulsDownloadPending == true )
{
ulsUpdatedTd.innerHTML = "<b><i>Download pending</i></b>";
return;
}
g_ulsDownloadPending = true;
ulsUpdatedTd.innerHTML = "<b><i>Downloading...</i></b>";
g_callsignLookups.ulsLastUpdate = 0;
ulsCountTd.innerHTML = "";
ulsCountTd.innerHTML = 0;
getChunkedBuffer("https://dl.dropboxusercontent.com/s/91iynrvdse7zcf5/callsigns.txt?cb="+timeNowSec(), processulsCallsigns, null, "https", 443);
}
@ -669,30 +551,31 @@ function getChunkedBuffer(file_url, callback, flag, mode, port, cookie, errorHan
}
http.get(options, function (res) {
var fsize = res.headers['content-length'];
var fread = 0;
var cookies = null;
if (typeof res.headers['set-cookie'] != 'undefined')
cookies = res.headers['set-cookie'];
res.on('data', function (data) {
var isEnd = false;
fread += data.length;
if ( fread == fsize )
isEnd = true;
if (fileBuffer == null)
{
fileBuffer = callback(data, flag, cookies, true, false);
fileBuffer = callback(data, flag, cookies, true, isEnd);
}
else
{
fileBuffer = callback(fileBuffer + data, flag, cookies, false, false);
fileBuffer = callback(fileBuffer + data, flag, cookies, false, isEnd);
}
}).on('end', function () {
if (typeof callback === "function") {
// Call it, since we have confirmed it is callable
callback(null, flag, cookies, false , true);
}
}).on('error', function (e) {
console.error('Got error: ' + e.message);
});
});
}
var g_callsignToState = Object();
var g_ulsDatabase = openDatabase('ulsDB', '1.0', 'US Callsigns', 40 * 1024 * 1024);
@ -700,13 +583,19 @@ g_ulsDatabase.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS calls (callsign PRIMARY KEY, zip, state)');
});
var g_currentULSBuffer = 0;
function resetULSDatabase()
{
g_callsignLookups.ulsLastUpdate = 0;
g_ulsCallsignsCount = 0;
}
function processulsCallsigns(data, flag, cookies, starting, finished)
{
var buffer = String(data);
var returnBuffer = "";
if ( buffer && buffer.length > 0 )
{
var lines = null;
@ -727,49 +616,58 @@ function processulsCallsigns(data, flag, cookies, starting, finished)
g_ulsDatabase.transaction(function (tx) {
if ( starting == true )
{
g_ulsCallsignsCount = 0;
g_callsignLookups.ulsLastUpdate = 0;
saveCallsignSettings();
ulsUpdatedTd.innerHTML = "<b><i>Processing...</i></b>";
tx.executeSql('drop table calls');
tx.executeSql('CREATE TABLE IF NOT EXISTS calls (callsign PRIMARY KEY, zip, state)');
g_ulsCallsignsCount = 0;
g_currentLine = 0;
}
for (var x in lines )
{
if ( lines[x].length )
{
tx.executeSql( 'INSERT INTO calls (callsign, zip, state) VALUES ("'+lines[x].substr(7)+'","'+lines[x].substr(0,5)+'","'+lines[x].substr(5,2)+'")');
++g_ulsCallsignsCount;
if ( g_ulsCallsignsCount % 7969 == 0 )
ulsCountTd.innerHTML = g_ulsCallsignsCount;
}
}
delete lines;
lines = null;
});
}
}
if ( finished == true )
{
g_ulsDownloadPending = false;
var now = timeNowSec();
g_callsignLookups.ulsLastUpdate = timeNowSec();
if ( g_callsignLookups.ulsWeeklyEnable == true )
{
var now = timeNowSec();
if ( g_ulsLoadTimer != null )
clearTimeout(g_ulsLoadTimer);
var ulsWhenTimer = (86400 * 7) - (now - g_callsignLookups.ulsLastUpdate);
g_ulsWhenDate = now + ulsWhenTimer;
g_ulsLoadTimer = setTimeout(ulsDownload,(ulsWhenTimer)*1000);
}
updateCallsignCount();
ulsValuesChanged();
if ( g_ulsLoadTimer != null )
clearTimeout(g_ulsLoadTimer);
var ulsWhenTimer = 86400 * 7;
g_ulsWhenDate = ulsWhenTimer + now;
g_ulsLoadTimer = setTimeout(ulsDownload,(ulsWhenTimer)*1000);
g_ulsDatabase.transaction(function (tx) {
tx.executeSql('SELECT count(*) as cnt FROM calls', [], function (rx, results)
{
var len = results.rows.length, i;
if ( len == 1 )
{
g_ulsCallsignsCount = results.rows[0]["cnt"];
ulsCountTd.innerHTML = g_ulsCallsignsCount;
g_callsignLookups.ulsLastUpdate = timeNowSec();
saveCallsignSettings();
ulsSettingsDisplay();
updateQSO();
}
});
});
}
g_currentULSBuffer++;
if ( g_currentULSBuffer % 40 == 0 )
{
updateCallsignCount();
}
return Buffer(returnBuffer);
}
@ -781,12 +679,20 @@ function lookupUsCallsign( object , writeState = false)
var qry = 'SELECT * FROM calls where callsign = "'+object.DEcall+'"';
tx.executeSql(qry, [], function (tx, results)
{
var len = results.rows.length, i;
if ( len == 1 )
{
if ( object.state == null )
object.state = "US-"+results.rows[0]["state"];
{
if ( object.dxcc == 1 )
{
object.state = "CA-"+results.rows[0]["state"];
}
else
{
object.state = "US-"+results.rows[0]["state"];
}
}
object.zipcode = results.rows[0]["zip"];
if ( object.cnty == null )
{

Wyświetl plik

@ -0,0 +1,238 @@
var picker = {
attach : function (opt) {
// attach() : attach datepicker to target
// opt : options (object)
// target : datepicker will populate this field
// container : datepicker will be generated in this container
// startmon : start on Monday (default false)
// disableday : array of days to disable, e.g. [2,7] to disable Tue and Sun
// (A) Create new datepicker
var dp = document.createElement("div");
dp.dataset.target = opt.target;
dp.dataset.fire = opt.fire;
dp.dataset.startmon = opt.startmon ? "1" : "0";
dp.classList.add("picker");
if (opt.disableday) {
dp.dataset.disableday = JSON.stringify(opt.disableday);
}
// (B) Default to current month + year
// ! NOTE: UTC+0 !
var today = new Date(),
thisMonth = today.getUTCMonth(), // Note: Jan is 0
thisYear = today.getUTCFullYear(),
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
// (C) Month select
var select = document.createElement("select"),
option = null;
select.classList.add("picker-m");
for (var mth in months) {
option = document.createElement("option");
option.value = parseInt(mth) + 1;
option.text = months[mth];
select.appendChild(option);
}
select.selectedIndex = thisMonth;
select.addEventListener("change", function(){ picker.draw(this); });
dp.appendChild(select);
// (D) Year select
var yRange = 100; // Year range to show, I.E. from thisYear-yRange to thisYear+yRange
select = document.createElement("select");
select.classList.add("picker-y");
for (var y = thisYear-yRange; y < thisYear+20; y++) {
option = document.createElement("option");
option.value = y;
option.text = y;
select.appendChild(option);
}
select.selectedIndex = yRange;
select.addEventListener("change", function(){ picker.draw(this); });
dp.appendChild(select);
// (E) Day select
var days = document.createElement("div");
days.classList.add("picker-d");
dp.appendChild(days);
// (F) Attach date picker to target container + draw the dates
picker.draw(select);
// (F1) Popup datepicker
if (opt.container==1) {
// Mark this as a "popup"
var uniqueID = 0;
while (document.getElementById("picker-" + uniqueID) != null) {
uniqueID = Math.floor(Math.random() * (100 - 2)) + 1;
}
dp.dataset.popup = "1";
dp.dataset.dpid = uniqueID;
// Create wrapper
var wrapper = document.createElement("div");
wrapper.id = "picker-" + uniqueID;
wrapper.classList.add("picker-wrap");
wrapper.appendChild(dp);
// Attach onclick to show/hide datepicker
var target = document.getElementById(opt.target);
target.dataset.dp = uniqueID;
target.onfocus = function () {
document.getElementById("picker-" + this.dataset.dp).classList.add("show");
};
wrapper.addEventListener("click", function (evt) {
if (evt.target.classList.contains("picker-wrap")) {
this.classList.remove("show");
}
});
// Attach popup datepicker to document
document.documentElement.appendChild(wrapper);
}
// (F2) Inline datepicker
else {
document.getElementById(opt.container).appendChild(dp);
}
},
draw : function (el) {
// draw() : draw the days in month
// el : HTML reference to either year or month selector
// (A) Get date picker components
var parent = el.parentElement,
year = parent.getElementsByClassName("picker-y")[0].value,
month = parent.getElementsByClassName("picker-m")[0].value,
days = parent.getElementsByClassName("picker-d")[0];
// (B) Date range calculation
// ! NOTE: UTC+0 !
var daysInMonth = new Date(Date.UTC(year, month, 0)).getUTCDate(),
startDay = new Date(Date.UTC(year, month-1, 1)).getUTCDay(), // Note: Sun = 0
endDay = new Date(Date.UTC(year, month-1, daysInMonth)).getUTCDay(),
startDay = startDay==0 ? 7 : startDay,
endDay = endDay==0 ? 7 : endDay;
// (C) Generate date squares (in array first)
var squares = [],
disableday = null;
if (parent.dataset.disableday) {
disableday = JSON.parse(parent.dataset.disableday);
}
// (C1) Empty squares before first day of month
if (parent.dataset.startmon=="1" && startDay!=1) {
for (var i=1; i<startDay; i++) { squares.push("B"); }
}
if (parent.dataset.startmon=="0" && startDay!=7) {
for (var i=0; i<startDay; i++) { squares.push("B"); }
}
// (C2) Days of month
// All days enabled, just add
if (disableday==null) {
for (var i=1; i<=daysInMonth; i++) { squares.push([i, false]); }
}
// Some days disabled
else {
var thisday = startDay;
for (var i=1; i<=daysInMonth; i++) {
// Check if day is disabled
var disabled = disableday.includes(thisday);
// Day of month, disabled
squares.push([i, disabled]);
// Next day
thisday++;
if (thisday==8) { thisday = 1; }
}
}
// (C2) Empty squares after last day of month
if (parent.dataset.startmon=="1" && endDay!=7) {
for (var i=endDay; i<7; i++) { squares.push("B"); }
}
if (parent.dataset.startmon=="0" && endDay!=6) {
for (var i=endDay; i<(endDay==7?13:6); i++) { squares.push("B"); }
}
// (D) Draw HTML
var daynames = ["Mon", "Tue", "Wed", "Thur", "Fri", "Sat"];
if (parent.dataset.startmon=="1") { daynames.push("Sun"); }
else { daynames.unshift("Sun"); }
// (D1) Header
var table = document.createElement("table"),
row = table.insertRow()
cell = null;
row.classList.add("picker-d-h");
for (let d of daynames) {
cell = row.insertCell();
cell.innerHTML = d;
}
// (D2) Date cells
var total = squares.length;
row = table.insertRow();
for (var i=0; i<total; i++) {
if (i!=total && i%7==0) { row = table.insertRow(); }
cell = row.insertCell();
if (squares[i] == "B") {
cell.classList.add("picker-d-b");
} else {
cell.innerHTML = squares[i][0];
// Not allowed to choose this day
if (squares[i][1]) {
cell.classList.add("picker-d-dd");
}
// Allowed to choose this day
else {
cell.classList.add("picker-d-d");
cell.addEventListener("click", function(){ picker.pick(this); });
}
}
}
// (D3) Attach new calendar to datepicker
days.innerHTML = "";
days.appendChild(table);
},
pick : function (el) {
// pick() : choose a date
// el : HTML reference to selected date cell
// (A) Get all components
var parent = el.parentElement;
while (!parent.classList.contains("picker")) {
parent = parent.parentElement;
}
// (B) Get full selected year month day
var year = parent.getElementsByClassName("picker-y")[0].value,
month = parent.getElementsByClassName("picker-m")[0].value,
day = el.innerHTML;
// YYYY-MM-DD Format
// ! CHANGE FORMAT HERE IF YOU WANT !
if (parseInt(month)<10) { month = "0" + month; }
if (parseInt(day)<10) { day = "0" + day; }
var fullDate = year + "-" + month + "-" + day;
// (C) Update selected date
document.getElementById(parent.dataset.target).value = fullDate;
if ( parent.dataset.fire.length > 0 )
{
window[parent.dataset.fire]();
}
// (D) Popup only - close the popup
if (parent.dataset.popup == "1") {
document.getElementById("picker-" + parent.dataset.dpid).classList.remove("show");
}
}
};

Wyświetl plik

@ -36,15 +36,15 @@ var def_appSettings =
"rosterAlwaysOnTop": false,
"centerGridsquare" : "",
"chatUUID" : "",
"crScript" : 1,
"distanceUnit" : "KM",
"crScript" : 0,
"distanceUnit" : "MI",
"earthImgSrc" : 0,
"gridViewMode" : 3,
"gridsquareDecayTime" : 300,
"gtAgree" : "",
"gtBandFilter" : "auto",
"gtBandFilter" : "",
"gtFlagImgSrc" : 0,
"gtModeFilter" : "auto",
"gtModeFilter" : "",
"gtPropFilter" : "mixed",
"gtMsgEnable" : true,
"gtShareEnable" : true,
@ -85,7 +85,11 @@ var def_appSettings =
"wsjtForwardUdpIp" : "127.0.0.1",
"wsjtForwardUdpPort" : 2238,
"wsjtIP" : "",
"wsjtUdpPort" : 2237
"wsjtUdpPort" : 0,
"workingCallsignEnable" : false,
"workingCallsigns" : {},
"workingDateEnable": false,
"workingDate" : 0
};
var def_mapSettings =

Wyświetl plik

@ -0,0 +1,67 @@
/* [POPUP] */
.picker-wrap {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: rgba(0,0,0,0.5);
opacity: 0;
visibility: hidden;
transition: opacity 0.2s;
}
.picker-wrap.show {
opacity: 1;
visibility: visible;
}
.picker-wrap .picker{
margin: 50vh auto 0 auto;
transform: translateY(-50%)
}
/* [CONTAINER] */
.picker {
max-width: 300px;
border: 1px solid #000;
background: #444;
padding: 10px;
}
/* [MONTH + YEAR] */
.picker-m, .picker-y {
width: 50%;
padding: 5px;
box-sizing: border-box;
font-size: 16px;
}
/* [DAY] */
.picker-d table {
color: #fff;
border-collapse: separate;
width: 100%;
margin-top: 10px;
}
.picker-d table td {
width: 14.28%; /* 7 equal columns */
padding: 5px;
text-align: center;
}
/* Header cells */
.picker-d-h td {
font-weight: bold;
}
/* Blank dates */
.picker-d-b {
background: #4e4e4e;
}
/* Pickable Dates */
.picker-d-d:hover {
cursor: pointer;
background: #a33c3c;
}
/* Unpickable Dates */
.picker-d-dd {
color: #888;
background: #4e4e4e;
}

Wyświetl plik

@ -0,0 +1,68 @@
/* [POPUP] */
.picker-wrap {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: rgba(0,0,0,0.5);
opacity: 0;
visibility: hidden;
transition: opacity 0.2s;
}
.picker-wrap.show {
opacity: 1;
visibility: visible;
}
.picker-wrap .picker{
margin: 50vh auto 0 auto;
transform: translateY(-50%)
}
/* [CONTAINER] */
.picker {
max-width: 300px;
border: 1px solid #eee;
background: #fafafa;
padding: 10px;
}
/* [MONTH + YEAR] */
.picker-m, .picker-y {
width: 50%;
padding: 5px;
box-sizing: border-box;
font-size: 16px;
}
/* [DAY] */
.picker-d table {
color: #333;
border-collapse: separate;
width: 100%;
margin-top: 10px;
}
.picker-d table td {
width: 14.28%; /* 7 equal columns */
padding: 5px;
text-align: center;
}
/* Header */
.picker-d-h td {
font-weight: bold;
}
/* Blank dates */
.picker-d-b {
background: #ddd;
}
/* Pickable Dates */
.picker-d-d:hover {
cursor: pointer;
background: #2d68c4;
color: #fff;
}
/* Unpickable Dates */
.picker-d-dd {
color: #aaa;
background: #ddd;
}

Wyświetl plik

@ -1,8 +1,8 @@
// GridTracker ©2020 N0TTL
var gtComment1 = "GridTracker is not open source, you may not change, modify or 'borrow' code for your needs that is redistributed in any form without first asking and receiving permission from N0TTL *and* N2VFL";
var gtComment2 = "Third party libraries and functions used are seperated to third-party.js or their respective lib .js files, the GT close-source directive does not apply to these files of course";
var gtVersion = 1200821;
var gtBeta = "";
var gtVersion = 1200825;
var gtBeta = "Betamax";
var g_startVersion = 0;
@ -48,7 +48,6 @@ var g_popupWindowHandle = null;
var g_callRosterWindowHandle = null;
var g_conditionsWindowHandle = null;
var g_chatWindowHandle = null;
var g_settingsWindowHandle = null;
var g_statsWindowHandle = null;
var g_lookupWindowHandle = null;
var g_baWindowHandle = null;
@ -69,6 +68,26 @@ var g_callsignLookups = {};
var g_startupLogs = [];
var g_mapMemory = [];
var g_callsignDatabaseDXCC = {
291 : true,
1 : true,
6 : true,
110 : true,
202 : true
};
var g_callsignDatabaseUS = {
291 : true,
6 : true,
110 : true
}
var g_callsignDatabaseUSplus = {
291 : true,
6 : true,
110 : true,
202 : true
}
function loadAllSettings()
{
@ -264,6 +283,24 @@ function saveAndCloseApp()
saveAppSettings();
saveMapSettings();
try
{
if ( g_callRosterWindowHandle )
{
g_callRosterWindowHandle.window.writeRosterSettings();
g_callRosterWindowHandle.close(true);
}
if ( g_popupWindowHandle ) g_popupWindowHandle.close(true);
if ( g_conditionsWindowHandle ) g_conditionsWindowHandle.close(true);
if ( g_chatWindowHandle ) g_chatWindowHandle.close(true);
if ( g_statsWindowHandle ) g_statsWindowHandle.close(true);
if ( g_lookupWindowHandle ) g_lookupWindowHandle.close(true);
if ( g_baWindowHandle ) g_baWindowHandle.close(true);
}
catch (e) {
console.log(e);
}
nw.App.quit();
}
@ -866,6 +903,32 @@ function setState( details )
}
}
function isKnownCallsignDXCC(dxcc)
{
if ( dxcc in g_callsignDatabaseDXCC )
return true;
return false;
}
function isKnownCallsignUS(dxcc)
{
if ( dxcc in g_callsignDatabaseUS )
return true;
return false;
}
function isKnownCallsignUSplus(dxcc)
{
if ( dxcc in g_callsignDatabaseUSplus )
return true;
return false;
}
function addDeDx(finalGrid, finalDXcall, cq, cqdx, locked, finalDEcall, finalRSTsent, finalTime, ifinalMsg,
mode, band, confirmed, notQso, finalRSTrecv, finalDxcc, finalState, finalCont, finalCnty, finalCqZone, finalItuZone,
finalVucc = [], finalPropMode = "", finalDigital = false, finalPhone = false, finalIOTA = "", finalSatName = "") {
@ -961,11 +1024,11 @@ function addDeDx(finalGrid, finalDXcall, cq, cqdx, locked, finalDEcall, finalRST
details.zone = Number(details.px.charAt(details.px.length-1));
}
if (details.state != null && finalDxcc != 291 && finalDxcc != 110 && finalDxcc != 6 && finalDxcc != 202)
details.state = null;
else if (details.state == null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6 || finalDxcc == 202) && finalGrid.length > 0) {
if (details.state == null && isKnownCallsignUSplus(finalDxcc) && finalGrid.length > 0) {
var fourGrid = finalGrid.substr(0, 4);
if ((fourGrid in g_gridToState) && g_gridToState[fourGrid].length == 1) {
if ((fourGrid in g_gridToState) && g_gridToState[fourGrid].length == 1 )
{
details.state = g_gridToState[fourGrid][0];
}
lookupCall = true;
@ -981,20 +1044,28 @@ function addDeDx(finalGrid, finalDXcall, cq, cqdx, locked, finalDEcall, finalRST
details.cnty = finalCnty;
if (details.cnty == null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6 || finalDxcc == 202)) {
// Do County Lookup
lookupCall = true;
} else if (details.cnty != null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6 || finalDxcc == 202)) {
if (!(details.cnty in g_cntyToCounty)) {
if (details.cnty.indexOf(",") == -1) {
if (!(details.state + "," + details.cnty in g_cntyToCounty))
lookupCall = true;
} else
lookupCall = true;
if ( isKnownCallsignUSplus(finalDxcc) )
{
if (details.cnty == null )
{
lookupCall = true;
}
else
{
if (!(details.cnty in g_cntyToCounty))
{
if (details.cnty.indexOf(",") == -1)
{
if (!(details.state + "," + details.cnty in g_cntyToCounty))
lookupCall = true;
}
else
lookupCall = true;
}
}
}
if (lookupCall) {
if (g_callsignLookups.ulsUseEnable) {
lookupUsCallsign(details, true);
@ -1009,8 +1080,6 @@ function addDeDx(finalGrid, finalDXcall, cq, cqdx, locked, finalDEcall, finalRST
if (finalMsg.length > 0)
details.msg = finalMsg;
g_tracker.worked.call[finalDXcall + band + mode] = true;
g_tracker.worked.call[finalDXcall] = true;
g_tracker.worked.call[finalDXcall + mode] = true;
@ -1292,12 +1361,12 @@ function addDeDx(finalGrid, finalDXcall, cq, cqdx, locked, finalDEcall, finalRST
newCallsign.IOTA = finalIOTA;
newCallsign.satName = finalSatName;
if (newCallsign.state == null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6 || finalDxcc == 202) && finalGrid.length > 0) {
if (newCallsign.state == null && isKnownCallsignDXCC(finalDxcc) && finalGrid.length > 0) {
if (g_callsignLookups.ulsUseEnable) {
lookupUsCallsign(newCallsign);
}
if (newCallsign.state == null) {
if (newCallsign.state == null && isKnownCallsignUSplus(finalDxcc) ) {
var fourGrid = finalGrid.substr(0, 4);
if ((fourGrid in g_gridToState) && g_gridToState[finalGrid.substr(0, 4)].length == 1) {
newCallsign.state = g_gridToState[finalGrid.substr(0, 4)][0];
@ -1912,7 +1981,8 @@ function openCallRosterWindow( show = true ) {
var gui = require('nw.gui');
gui.Window.open('gt_roster.html', {
"show": false,
"id": "GT-roster"
"id": "GT-roster",
"icon" : "img/roster-icon.png"
}, function (new_win) {
g_callRosterWindowHandle = new_win;
new_win.on('loaded', function () {
@ -2945,6 +3015,24 @@ function mouseOverGtFlag(feature)
myFlagtip.style.zIndex = 499;
myFlagtip.style.display = "block";
if (feature.size == 73 && feature != g_lasttimezone )
{
if ( g_lasttimezone != null )
{
g_lasttimezone.setStyle(null);
}
var style = new ol.style.Style({
fill: new ol.style.Fill({
color: "#FFFF0088"
})
});
feature.setStyle(style);
g_lasttimezone = feature;
}
return;
}
@ -4057,6 +4145,22 @@ function clearOrLoadQSOs()
}
}
function clearAndLoadQSOs()
{
initQSOdata();
g_QSOhash = {};
g_QSLcount = 0;
g_QSOcount = 0;
setTrophyOverlay(g_currentOverlay);
redrawGrids();
updateCountStats();
updateLogbook();
updateRosterWorked();
goProcessRoster();
updateCountStats();
startupAdifLoadCheck();
}
function clearQSOs() {
initQSOdata();
@ -4636,22 +4740,6 @@ function initMap() {
if (features[index].geometryName_ == "tz" )
{
features[index].size = 73;
if ( features[index] != g_lasttimezone )
{
if ( g_lasttimezone != null )
{
g_lasttimezone.setStyle(null);
}
var style = new ol.style.Style({
fill: new ol.style.Fill({
color: "#FFFF0088"
})
});
features[index].setStyle(style);
g_lasttimezone = features[index];
}
}
if (typeof features[index].size == "undefined")
continue;
@ -4667,6 +4755,13 @@ function initMap() {
break;
}
if (features[index].size == 1) {
mouseOverGtFlag(features[index]);
noFlag = false;
noFeature = true;
break;
}
if (features[index].size == 6) {
noFeature = false;
finalGridFeature = features[index];
@ -4674,25 +4769,20 @@ function initMap() {
if (features[index].size == 4 && finalGridFeature == null) {
noFeature = false;
finalGridFeature = features[index];
noFlag = true;
}
if (features[index].size == 73) {
if (features[index].size == 73 && finalGridFeature == null ) {
mouseOverGtFlag(features[index]);
noFlag = false;
finalGridFeature == null;
noFeature = true;
break;
}
if (features[index].size == 1) {
mouseOverGtFlag(features[index]);
noFlag = false;
finalGridFeature == null;
noFeature = true;
break;
}
}
if (finalGridFeature)
{
mouseOverDataItem(finalGridFeature, true);
}
}
}
@ -4860,9 +4950,7 @@ function toggleNexrad()
delete g_Nexrad;
g_Nexrad = null;
}
createNexRad();
if ( g_nexradInterval == null )
@ -4882,17 +4970,10 @@ function toggleNexrad()
g_Nexrad = null;
}
}
if ( g_nexradEnable )
{
UsNexradValue.checked = true;
}
else
{
UsNexradValue.checked = false;
}
g_mapSettings.usNexrad = UsNexradValue.checked;
saveMapSettings();
g_mapSettings.usNexrad = (g_nexradEnable==1?true:false);
}
@ -5875,7 +5956,7 @@ function handleWsjtxDecode(newMessage) {
newCallsign.cqza = Array();
newCallsign.distance = 0;
newCallsign.heading = 0;
if (g_callsignLookups.ulsUseEnable == true && (newCallsign.dxcc == 291 || newCallsign.dxcc == 110 || newCallsign.dxcc == 6 || newCallsign.dxcc == 202)) {
if (g_callsignLookups.ulsUseEnable == true && isKnownCallsignDXCC(newCallsign.dxcc) ) {
lookupUsCallsign(newCallsign);
}
@ -7509,7 +7590,8 @@ function openLookupWindow( show = true ) {
var gui = require('nw.gui');
gui.Window.open('gt_lookup.html', {
"show": false,
"id": "GT-lookups"
"id": "GT-lookups",
"icon" : "img/lookup-icon.png"
}, function (new_win) {
g_lookupWindowHandle = new_win;
new_win.on('loaded', function () {
@ -7858,7 +7940,7 @@ function renderStatsBox()
else
workObject(modet.Other, true, band, mode, type, didConfirm);
if (state != null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6)) {
if (state != null && isKnownCallsignUS(finalDxcc) ) {
if (state.substr(0, 2) != "US")
state = "US-" + state;
@ -8642,7 +8724,7 @@ function redrawGrids() {
var ituz = g_QSOhash[i].ituz;
var cqz = g_QSOhash[i].cqz;
if (state != null && (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6)) {
if (state != null && isKnownCallsignUS(finalDxcc) ) {
if (state.substr(0, 2) != "US")
state = "US-" + state;
@ -9323,8 +9405,13 @@ function updateRunningProcesses() {
function updateBasedOnIni() {
var which = null;
var count = 0;
if ( g_wsjtxProcessRunning )
count++;
if ( g_jtdxProcessRunning )
count++;
// UdpPortNotSet
if (g_appSettings.wsjtUdpPort == 0) {
if (g_appSettings.wsjtUdpPort == 0 || count == 1) {
if (g_wsjtxProcessRunning)
which = g_wsjtxIni;
else if (g_jtdxProcessRunning)
@ -9335,8 +9422,14 @@ function updateBasedOnIni() {
}
if (which == null) {
g_appSettings.wsjtUdpPort = 2237;
g_appSettings.ip = "";
g_appSettings.wsjtIP = "";
}
if (ipToInt(g_appSettings.wsjtIP) >= ipToInt("224.0.0.0") && ipToInt(g_appSettings.wsjtIP) < ipToInt("240.0.0.0"))
{
g_appSettings.multicast = true;
}
else
g_appSettings.multicast = false;
}
// Which INI do we load?
if (g_appSettings.wsjtUdpPort) {
@ -9422,6 +9515,57 @@ function validateNumAndLetter( input )
return false;
}
function validCallsignsKeys( value )
{
if (value == 44)
return true;
if ( value >= 48 && value <= 57 )
return true;
if ( value >= 65 && value <= 90 )
return true;
return (value >=97 && value <= 122);
}
function ValidateCallsigns(inputText, validDiv)
{
inputText.value = inputText.value.toUpperCase();
var callsigns = inputText.value.split(",");
var passed = false;
for ( var call in callsigns )
{
if (callsigns[call].length > 0)
{
if (/\d/.test(callsigns[call]) && /[A-Z]/.test(callsigns[call]) )
{
passed = true;
}
else
{
passed = false;
break;
}
}
else
{
passed = false;
break;
}
}
if (passed)
{
inputText.style.color = "#FF0";
inputText.style.backgroundColor = "green";
}
else
{
inputText.style.color = "#000";
inputText.style.backgroundColor = "yellow";
}
return passed;
}
function ValidateCallsign(inputText, validDiv) {
addError.innerHTML = "";
if ((inputText.value.length > 0)) {
@ -9562,7 +9706,7 @@ function ValidateMulticast(inputText) {
if (inputText.value.match(ipformat)) {
if (inputText.value != "0.0.0.0" && inputText.value != "255.255.255.255") {
var ipInt = ipToInt(inputText.value);
if (ipInt > ipToInt("224.0.0.0") && ipInt < ipToInt("240.0.0.0")) {
if (ipInt >= ipToInt("224.0.0.0") && ipInt < ipToInt("240.0.0.0")) {
if (ipInt > ipToInt("224.0.0.255")) {
inputText.style.color = "black";
inputText.style.backgroundColor = "yellow";
@ -9635,6 +9779,59 @@ function ValidatePort(inputText, checkBox, callBackCheck) {
}
}
function workingCallsignEnableChanged(ele)
{
g_appSettings.workingCallsignEnable = ele.checked;
applyCallsignsAndDateDiv.style.display = "";
}
function workingDateEnableChanged(ele)
{
g_appSettings.workingDateEnable = ele.checked;
applyCallsignsAndDateDiv.style.display = "";
}
function workingDateChanged()
{
var fields = workingDateValue.value.split("-");
var date = new Date( Date.UTC(parseInt(fields[0]), parseInt(fields[1])-1, parseInt(fields[2]),0,0,0));
g_appSettings.workingDate = Date.UTC(parseInt(fields[0]), parseInt(fields[1])-1, parseInt(fields[2]),0,0,0) / 1000;
displayWorkingDate();
applyCallsignsAndDateDiv.style.display = "";
}
function displayWorkingDate()
{
var date = new Date(g_appSettings.workingDate*1000);
workingDateString.innerHTML = dateToString( date );
}
var g_tempWorkingCallsigns = {};
function workingCallsignsChanged(ele)
{
g_tempWorkingCallsigns = {};
var callsigns = ele.value.split(",");
for ( var call in callsigns )
{
g_tempWorkingCallsigns[callsigns[call]] = true;
}
if ( callsigns.length > 0 )
{
g_appSettings.workingCallsigns = Object.assign({},g_tempWorkingCallsigns);
if ( g_appSettings.workingCallsignEnable )
applyCallsignsAndDateDiv.style.display = "";
}
else
applyCallsignsAndDateDiv.style.display = "none";
}
function applyCallsignsAndDates()
{
clearAndLoadQSOs();
applyCallsignsAndDateDiv.style.display = "none";
}
function selectElementContents(el) {
var body = document.body,
range,
@ -9671,21 +9868,22 @@ function ipLocation(buffer, flag) {
function popupNewWindows() {
if (typeof nw != 'undefined') {
var gui = require('nw.gui');
var win = gui.Window.get();
win.on('new-win-policy', function (frame, url, policy) {
policy.forceNewPopup();
g_lastUrl = "";
});
}
}
var g_lastUrl = "";
function lockNewWindows() {
if (typeof nw != 'undefined') {
var gui = require('nw.gui');
var win = gui.Window.get();
win.on('new-win-policy', function (frame, url, policy) {
var gui = require('nw.gui');
gui.Shell.openExternal(url);
win.on('new-win-policy', function (frame, url, policy) {
if ( url != g_lastUrl )
{
nw.Shell.openExternal(url);
g_lastUrl = url;
}
policy.ignore();
});
}
@ -10424,7 +10622,6 @@ function loadMapSettings() {
offlineImg.src = g_mapImageArray[(g_mapSettings.offlineMode ? 0 : 1)];
mapSelect.value = g_mapSettings.mapIndex;
mapNightSelect.value = g_mapSettings.nightMapIndex;
@ -10441,7 +10638,6 @@ function loadMapSettings() {
haltAllOnTxValue.checked = g_mapSettings.haltAllOnTx;
strikesAlert.value = g_mapSettings.strikesAlert;
UsNexradValue.checked = g_mapSettings.usNexrad;
setStrikesButton();
@ -10874,7 +11070,18 @@ function setMsgSettingsView() {
}
function loadAdifSettings() {
workingCallsignEnable.checked = g_appSettings.workingCallsignEnable;
workingCallsignsValue.value = (Object.keys(g_appSettings.workingCallsigns).join(","));
if ( workingCallsignsValue.value.length == 0 )
workingCallsignsValue.value = myDEcall;
ValidateCallsigns(workingCallsignsValue);
workingDateEnable.checked = g_appSettings.workingDateEnable ;
displayWorkingDate();
if ( g_platform == "mac" )
{
selectTQSLButton.style.display = "none";
@ -10955,6 +11162,7 @@ function loadAdifSettings() {
}
setAdifStartup(loadAdifCheckBox);
ValidateQrzApi(qrzApiKey);
}
function startupVersionInit() {
@ -11033,14 +11241,7 @@ function postInit() {
updateForwardListener();
addLastTraffic("GridTracker</br>" + gtShortVersion );
if ( UsNexradValue.checked == true )
{
g_nexradEnable = 0;
}
else
{
g_nexradEnable = 1;
}
g_nexradEnable = g_mapSettings.usNexrad?0:1;
toggleNexrad();
updateText.innerHTML = fs.readFileSync("./gt_update.html");
@ -11053,6 +11254,13 @@ function postInit() {
}
g_finishedLoading = true;
//tagme
var x = document.querySelectorAll("input[type='range']");
for (var i = 0; i < x.length; i++) {
if ( x[i].title.length > 0 )
x[i].title += "\n";
x[i].title += "(Use Arrow Keys For Smaller Increments)";
}
}
@ -13198,4 +13406,17 @@ function makeScreenshots()
}
window.addEventListener("load", function(){
picker.attach({
target: "workingDateValue",
container: "pick-inline",
fire: "workingDateChanged"
});
});
process.on('uncaughtException', function (e) {
alert(e);
console.error('uncaughtException:', e);
console.error(e.stack);
});

Wyświetl plik

@ -390,7 +390,7 @@ function makeGtPin( obj )
obj.pin = null;
}
if (typeof obj.grid == 'undefined' || typeof obj.grid == null )
if (typeof obj.grid == 'undefined' || obj.grid == null )
return;
if ( obj.grid.length != 4 && obj.grid.length != 6 )

Wyświetl plik

@ -41,6 +41,9 @@ var g_regFocus = false;
var g_awards = {};
var g_awardTypes = {};
var g_awardTracker = {};
var g_callsignDatabaseDXCC = {};
var g_callsignDatabaseUS = {}
var g_callsignDatabaseUSplus = {};
var g_modeColors = {};
@ -197,6 +200,30 @@ function writeRosterSettings()
localStorage.rosterSettings = JSON.stringify(g_rosterSettings);
}
function isKnownCallsignDXCC(dxcc)
{
if ( dxcc in g_callsignDatabaseDXCC )
return true;
return false;
}
function isKnownCallsignUS(dxcc)
{
if ( dxcc in g_callsignDatabaseUS )
return true;
return false;
}
function isKnownCallsignUSplus(dxcc)
{
if ( dxcc in g_callsignDatabaseUSplus )
return true;
return false;
}
function timeNowSec()
{
return parseInt(Date.now() / 1000);
@ -427,6 +454,7 @@ function viewRoster()
var callMode = g_rosterSettings.callsign;
var onlyHits = false;
var isAwardTracker = false;
if ( callMode == "hits" )
{
callMode = "all";
@ -438,6 +466,7 @@ function viewRoster()
onlyHits = false;
isAwardTracker = true;
g_rosterSettings.huntNeed = "confirmed";
}
var canMsg = (window.opener.g_mapSettings.offlineMode == false && window.opener.g_appSettings.gtShareEnable == "true" && window.opener.g_appSettings.gtMsgEnable == "true" );
@ -859,7 +888,6 @@ function viewRoster()
}
callRoster[callHash].tx = tx;
}
}
@ -1067,7 +1095,7 @@ function viewRoster()
if ( huntCounty.checked == true && window.opener.g_callsignLookups.ulsUseEnable == true )
{
var finalDxcc = callRoster[callHash].callObj.dxcc;
if ( callRoster[callHash].callObj.cnty && ( finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6) && callRoster[callHash].callObj.cnty.length > 0 )
if ( callRoster[callHash].callObj.cnty && ( finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6 || finalDxcc == 202) && callRoster[callHash].callObj.cnty.length > 0 )
{
var hash = callRoster[callHash].callObj.cnty + workHash;
@ -2643,6 +2671,10 @@ function resize()
function init()
{
g_callsignDatabaseDXCC = window.opener.g_callsignDatabaseDXCC;
g_callsignDatabaseUS = window.opener.g_callsignDatabaseUS
g_callsignDatabaseUSplus = window.opener.g_callsignDatabaseUSplus;
loadAwardJson();
updateWorked();
@ -2689,11 +2721,34 @@ function init()
rosterHead.style.display = "block";
g_rosterSettings.controls = true;
}
g_compactMenu.items[0].label = g_rosterSettings.controls? "Hide Controls":"Show Controls";
localStorage.rosterSettings = JSON.stringify(g_rosterSettings);
resize();
}
});
g_menu.append(item);
item = new nw.MenuItem({
type: "normal",
label: g_rosterSettings.controls? "Hide Controls":"Show Controls",
click: function() {
if ( this.label == "Hide Controls" )
{
this.label = "Show Controls";
rosterHead.style.display = "none";
g_rosterSettings.controls = false;
}
else
{
this.label = "Hide Controls";
rosterHead.style.display = "block";
g_rosterSettings.controls = true;
}
g_menu.items[0].label = g_rosterSettings.controls? "Hide Controls":"Show Controls";
localStorage.rosterSettings = JSON.stringify(g_rosterSettings);
resize();
}
});
g_compactMenu.append(item);
item = new nw.MenuItem({
@ -2789,7 +2844,7 @@ function init()
item = new nw.MenuItem({ type: 'separator' });
g_menu.append(item);
g_compactMenu.append(item);
item = new nw.MenuItem({
type: "checkbox",
@ -2842,7 +2897,7 @@ function init()
}
});
g_menu.append(g_clearIgnores);
g_compactMenu.append(g_clearIgnores);
g_clearIgnoresCall = new nw.MenuItem({
type: "normal",
@ -2896,7 +2951,7 @@ function init()
}
});
g_menu.append(g_clearCQIgnoreMainMenu);
g_compactMenu.append(g_clearCQIgnoreMainMenu);
g_clearCQIgnore = new nw.MenuItem({
type: "normal",
@ -2949,7 +3004,7 @@ function init()
}
});
g_menu.append(g_clearDxccIgnoreMainMenu);
g_compactMenu.append(g_clearDxccIgnoreMainMenu);
g_clearDxccIgnore = new nw.MenuItem({
type: "normal",
@ -2972,7 +3027,7 @@ function init()
}
});
g_menu.append(item);
g_compactMenu.append(item);
item = new nw.MenuItem({
@ -3799,16 +3854,18 @@ function testApxa(award, obj, baseHash)
{
if ( test.rule.pxa[i].indexOf(obj.px) > -1 )
{
return false;
if ( String(obj.px)+baseHash in g_tracker[award.test.look].px )
{
return false;
}
else
{
return true;
}
}
}
if ( String(obj.px)+baseHash in g_tracker[award.test.look].px )
{
return false;
}
}
return true;
return false;
}
function scoreAsfx(award, obj)

Wyświetl plik

@ -477,6 +477,19 @@ img {
.buttonImg
{
height:32px;
padding:0;
margin:0;
}
.buttonImgWide
{
width:74px;
height:36px;
padding:0;
margin-top:1px;
margin-bottom:-1px;
}
.solarImg

Wyświetl plik

@ -218,13 +218,13 @@ table.darkTable thead th:first-child {
}
.compactCallsign {
padding:3px;
padding:1px;
overflow: hidden;
white-space: nowrap;
}
.compactDXCC {
padding:3px;
padding:2px;
max-width: 9em;
overflow: hidden;
white-space: nowrap;

Wyświetl plik

@ -7,7 +7,7 @@
"toolbar" : false,
"show" : false,
"width" : 800,
"height" : 640
"height" : 652
},
"webkit": {
"plugin": true