Changeset 3567
- Timestamp:
- 01/23/07 19:09:59 (2 years ago)
- Files:
-
- trunk/Plug-Ins/Web Interface/JVWebInterfacePlugin.m (modified) (3 diffs)
- trunk/Plug-Ins/Web Interface/Resources/base.css (modified) (4 diffs)
- trunk/Plug-Ins/Web Interface/Resources/common.js (modified) (7 diffs)
- trunk/Plug-Ins/Web Interface/Resources/highlightsInvertedLarge.png (added)
- trunk/Plug-Ins/Web Interface/Resources/highlightsInvertedMedium.png (added)
- trunk/Plug-Ins/Web Interface/Resources/highlightsInvertedSmall.png (added)
- trunk/Plug-Ins/Web Interface/Resources/highlightsNormalLarge.png (added)
- trunk/Plug-Ins/Web Interface/Resources/highlightsNormalMedium.png (added)
- trunk/Plug-Ins/Web Interface/Resources/highlightsNormalSmall.png (added)
- trunk/Plug-Ins/Web Interface/Resources/index.html (modified) (1 diff)
- trunk/Plug-Ins/Web Interface/Resources/messagesInvertedLarge.png (added)
- trunk/Plug-Ins/Web Interface/Resources/messagesInvertedMedium.png (added)
- trunk/Plug-Ins/Web Interface/Resources/messagesInvertedSmall.png (added)
- trunk/Plug-Ins/Web Interface/Resources/messagesNormalLarge.png (added)
- trunk/Plug-Ins/Web Interface/Resources/messagesNormalMedium.png (added)
- trunk/Plug-Ins/Web Interface/Resources/messagesNormalSmall.png (added)
- trunk/Plug-Ins/Web Interface/Resources/rowHighlight.png (added)
- trunk/Plug-Ins/Web Interface/Web Interface.xcodeproj/project.pbxproj (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Plug-Ins/Web Interface/JVWebInterfacePlugin.m
r3566 r3567 526 526 [attributes setObject:[view uniqueIdentifier] forKey:@"panel"]; 527 527 [attributes setObject:[[message date] description] forKey:@"received"]; 528 if( [message isHighlighted] ) [attributes setObject:@"yes" forKey:@"highlighted"]; 528 529 529 530 NSMutableDictionary *styleParams = [[[view display] styleParameters] mutableCopy]; … … 547 548 [body release]; 548 549 549 [self addElementToClientQueues:element]; 550 NSXMLDocument *doc = [info objectForKey:@"activityQueue"]; 551 [[doc rootElement] addChild:element]; 550 552 } 551 553 … … 578 580 [body setStringValue:tmessage]; 579 581 580 NSXMLElement *element = [NSXMLElement elementWithName:@" message"];582 NSXMLElement *element = [NSXMLElement elementWithName:@"event"]; 581 583 [element setAttributesAsDictionary:attributes]; 582 584 [element addChild:body]; 583 585 [body release]; 584 586 585 [self addElementToClientQueues:element]; 587 NSXMLDocument *doc = [info objectForKey:@"activityQueue"]; 588 [[doc rootElement] addChild:element]; 586 589 } 587 590 trunk/Plug-Ins/Web Interface/Resources/base.css
r3560 r3567 4 4 padding: 0; 5 5 margin: 0; 6 }7 8 #timer {9 color: lightgrey;10 position: absolute;11 top: 3px;12 left: 20px;13 }14 15 #main {16 position: absolute;17 top: 20px;18 left: 20px;19 right: 20px;20 bottom: 20px;21 6 background-color: rgb( 235, 235, 235 ); 22 border-radius: 12px;23 -moz-border-radius: 12px;24 padding: 15px;25 }26 27 #drawer {28 top: 15px;29 right: 15px;30 bottom: 15px;31 position: absolute;32 width: 175px;33 margin-left: 4px;34 overflow: auto;35 7 } 36 8 … … 41 13 42 14 #input { 43 border: 1px solid rgb( 145, 145, 145 ); 15 border-top: 1px solid rgb( 166, 166, 166 ); 16 border-left: 1px solid rgb( 166, 166, 166 ); 44 17 background-color: white; 45 18 padding: 3px; 46 left: 15px;47 right: 200px;48 bottom: 15px;19 left: 200px; 20 right: 0; 21 bottom: 0; 49 22 height: 30px; 50 23 position: absolute; … … 55 28 56 29 #panels { 57 top: 15px;58 left: 15px;59 right: 200px;60 bottom: 52px;61 position: absolute; 62 border : 1px solid rgb( 145, 145, 145);30 top: 0; 31 left: 200px; 32 right: 0; 33 bottom: 37px; 34 position: absolute; 35 border-left: 1px solid rgb( 166, 166, 166 ); 63 36 margin: 0; 64 37 padding: 0; … … 73 46 } 74 47 75 # panelList{48 #sidebar { 76 49 list-style-type: none; 50 position: absolute; 51 top: 0; 52 left: 0; 53 bottom: 0; 54 width: 200px; 55 overflow: auto; 56 background-color: rgb( 227, 237, 249 ); 77 57 } 78 58 79 59 .memberList { 80 60 list-style-type: none; 61 padding-left: 16px; 62 } 63 64 .listItem { 65 position: relative; 66 height: 35px; 67 width: 100%; 68 -khtml-user-select: none; 69 -webkit-user-select: none; 81 70 } 82 71 83 72 .listItem.member { 84 padding-left: 18px; 85 } 86 87 .listItem.member:before { 88 content: url( /resources/person.png ); 89 } 90 91 .listItem.member.server.operator:before { 92 content: url( /resources/admin.png ); 93 } 94 95 .listItem.member.operator:before { 96 content: url( /resources/op.png ); 97 } 98 99 .listItem.member.half.operator:before { 100 content: url( /resources/half-op.png ); 101 } 102 103 .listItem.member.voice:before { 104 content: url( /resources/voice.png ); 105 } 106 107 .listItem { 108 padding: 2px 5px 1px 5px; 109 border-radius: 6px; 110 -moz-border-radius: 6px; 111 cursor: default; 112 vertical-align: middle; 113 text-shadow: #eee 2px 2px 1px; 114 margin-right: 4px; 115 } 116 117 .listItem:before { 118 padding-right: 3px; 119 vertical-align: -3px; 120 } 121 122 .listItem:hover { 123 background-color: rgb( 250, 250, 250 ); 73 height: 18px; 124 74 } 125 75 126 76 .listItem.selected { 127 background-color: rgb( 212, 212, 212 ); 128 } 129 130 .listItem.directChat:before { 131 content: url( /resources/privateChatTab.png ); 132 } 133 134 .listItem.directChat.newMessage:before { 135 content: url( /resources/privateChatTabNewMessage.png ); 136 } 137 138 .listItem.chatRoom:before { 139 content: url( /resources/roomTab.png ); 140 } 141 142 .listItem.chatRoom.newMessage:before { 143 content: url( /resources/roomTabNewMessage.png ); 144 } 145 146 .listItem.chatRoom.newHighlight:before { 147 content: url( /resources/roomTabNewHighlightMessage.png ); 148 } 77 background-position: bottom; 78 background-image: url( rowHighlight.png ); 79 background-repeat: repeat-x; 80 } 81 82 .listItem .icon { 83 position: absolute; 84 top: 1px; 85 left: 16px; 86 width: 32px; 87 height: 32px; 88 background-repeat: no-repeat; 89 } 90 91 .listItem .label { 92 position: absolute; 93 top: 4px; 94 left: 53px; 95 font-family: Lucida Grande, Helvetica, Verdana, sans-serif; 96 font-size: 11px; 97 color: black; 98 } 99 100 .listItem.selected .label { 101 font-weight: bold; 102 color: white; 103 text-shadow: rgba( 0, 0, 0, 0.2 ) 2px 2px 4px; 104 } 105 106 .listItem.selected .info { 107 font-weight: bold; 108 color: white; 109 text-shadow: rgba( 0, 0, 0, 0.2 ) 2px 2px 4px; 110 } 111 112 .listItem .info { 113 position: absolute; 114 top: 17px; 115 left: 53px; 116 font-family: Lucida Grande, Helvetica, Verdana, sans-serif; 117 font-size: 9px; 118 color: rgba( 0, 0, 0, 0.8 ); 119 } 120 121 .listItem.chatRoom .icon { 122 background-image: url( /resources/room.png ); 123 } 124 125 .listItem.directChat .icon { 126 background-image: url( /resources/messageUser.png ); 127 } 128 129 .listItem.member .icon { 130 top: 1px; 131 left: 16px; 132 width: 16px; 133 height: 16px; 134 background-image: url( /resources/person.png ); 135 } 136 137 .listItem.member .label { 138 top: 2px; 139 left: 38px; 140 } 141 142 .listItem.member.server.operator .icon { 143 background-image: url( /resources/admin.png ); 144 } 145 146 .listItem.member.operator .icon { 147 background-image: url( /resources/op.png ); 148 } 149 150 .listItem.member.half.operator .icon { 151 background-image: url( /resources/half-op.png ); 152 } 153 154 .listItem.member.voice .icon { 155 background-image: url( /resources/voice.png ); 156 } 157 158 .listItem .waiting { 159 position: absolute; 160 top: 10px; 161 right: 8px; 162 height: 14px; 163 color: white; 164 font-family: Helvetica, Verdana, sans-serif; 165 font-size: 11px; 166 font-weight: bold; 167 text-align: center; 168 line-height: 15px; 169 } 170 171 .listItem.selected .waiting { 172 color: rgb( 122, 137, 158 ); 173 } 174 175 .listItem .waiting .messages { 176 height: 14px; 177 background-repeat: no-repeat; 178 float: right; 179 } 180 181 .listItem .waiting .highlights { 182 height: 14px; 183 background-repeat: no-repeat; 184 float: left; 185 margin-right: -2px; 186 } 187 188 .listItem .waiting .messages.small { 189 width: 17px; 190 background-image: url( messagesNormalSmall.png ); 191 } 192 193 .listItem .waiting .messages.medium { 194 width: 26px; 195 background-image: url( messagesNormalMedium.png ); 196 } 197 198 .listItem .waiting .messages.large { 199 width: 33px; 200 background-image: url( messagesNormalLarge.png ); 201 } 202 203 .listItem.selected .waiting .messages.small { 204 background-image: url( messagesInvertedSmall.png ); 205 } 206 207 .listItem.selected .waiting .messages.medium { 208 background-image: url( messagesInvertedMedium.png ); 209 } 210 211 .listItem.selected .waiting .messages.large { 212 background-image: url( messagesInvertedLarge.png ); 213 } 214 215 .listItem .waiting .highlights.small { 216 width: 20px; 217 background-image: url( highlightsNormalSmall.png ); 218 } 219 220 .listItem .waiting .highlights.medium { 221 width: 25px; 222 background-image: url( highlightsNormalMedium.png ); 223 } 224 225 .listItem .waiting .highlights.large { 226 width: 31px; 227 background-image: url( highlightsNormalLarge.png ); 228 } 229 230 .listItem.selected .waiting .highlights.small { 231 background-image: url( highlightsInvertedSmall.png ); 232 } 233 234 .listItem.selected .waiting .highlights.medium { 235 background-image: url( highlightsInvertedMedium.png ); 236 } 237 238 .listItem.selected .waiting .highlights.large { 239 background-image: url( highlightsInvertedLarge.png ); 240 } trunk/Plug-Ins/Web Interface/Resources/common.js
r3566 r3567 66 66 var panel = ChatController.panel( message.getAttribute( "panel" ) ); 67 67 panel.appendMessage( message.firstChild.nodeValue ); 68 panel.updateNewMessageCount( panel.newMessages + 1 ); 68 if( ( ( ! foreground && panel.active ) || ! panel.active ) ) { 69 panel.updateNewMessageCount( panel.newMessages + 1 ); 70 if( message.getAttribute( "highlighted" ) ) 71 panel.updateHighlightMessageCount( panel.newHighlightMessages + 1 ); 72 } 69 73 } 70 74 break; … … 91 95 if( activityCheckInterval ) clearInterval( activityCheckInterval ); 92 96 activityCheckInterval = setInterval( ChatController.checkActivity, currentActivityCheckInterval ); 93 94 $("timer").innerText = currentActivityCheckInterval / 1000 + " secs";95 97 } 96 98 }, … … 117 119 this.listItem.className = "listItem"; 118 120 this.listItem.addEventListener( "click", function( event ) { panel.show(); }, false ); 119 this.listItem.appendChild( document.createTextNode( this.name ) ); 121 122 var iconElement = $(document.createElement( "div" )); 123 iconElement.className = "icon"; 124 this.listItem.appendChild( iconElement ); 125 126 this.labelElement = $(document.createElement( "div" )); 127 this.labelElement.className = "label"; 128 this.labelElement.appendChild( document.createTextNode( this.name ) ); 129 this.listItem.appendChild( this.labelElement ); 130 131 this.infoLabelElement = $(document.createElement( "div" )); 132 this.infoLabelElement.className = "info"; 133 this.infoLabelElement.appendChild( document.createTextNode( this.server ) ); 134 this.listItem.appendChild( this.infoLabelElement ); 135 136 var waitingElement = $(document.createElement( "div" )); 137 waitingElement.className = "waiting"; 138 139 this.highlightsElement = $(document.createElement( "div" )); 140 this.highlightsElement.className = "highlights"; 141 waitingElement.appendChild( this.highlightsElement ); 142 143 this.messagesElement = $(document.createElement( "div" )); 144 this.messagesElement.className = "messages"; 145 waitingElement.appendChild( this.messagesElement ); 146 147 this.listItem.appendChild( waitingElement ); 120 148 121 149 this.frame = $(document.createElement( "iframe" )); … … 126 154 127 155 ChatController.panels.push( this ); 128 $(" panelList").appendChild( this.listItem );156 $("sidebar").appendChild( this.listItem ); 129 157 $("panels").appendChild( this.frame ); 130 158 … … 261 289 262 290 DirectChatPanel.prototype.updateNewMessageCount = function( messages ) { 263 if( ( ( ! foreground && this.active ) || ! this.active ) ) { 264 if( ! this.listItem.hasClassName( "newMessage" ) ) 265 this.listItem.addClassName( "newMessage" ); 266 this.newMessages = messages; 267 this.listItem.title = messages + " messages waiting"; 268 } 291 this.newMessages = messages; 292 293 if( messages == 0 ) this.listItem.title = "No messages waiting"; 294 else if( messages == 1 ) this.listItem.title = "1 message waiting"; 295 else this.listItem.title = messages + " messages waiting"; 296 297 this.messagesElement.removeClassName( "small" ); 298 this.messagesElement.removeClassName( "medium" ); 299 this.messagesElement.removeClassName( "large" ); 300 301 if( messages > 0 && messages <= 9 ) { 302 if( ! this.messagesElement.hasClassName( "small" ) ) 303 this.messagesElement.addClassName( "small" ); 304 } else if( messages >= 10 && messages <= 99 ) { 305 if( ! this.messagesElement.hasClassName( "medium" ) ) 306 this.messagesElement.addClassName( "medium" ); 307 } else if( messages >= 100 ) { 308 if( ! this.messagesElement.hasClassName( "large" ) ) 309 this.messagesElement.addClassName( "large" ); 310 } 311 312 this.messagesElement.innerText = ( messages > 0 ? messages : "" ); 269 313 } 270 314 271 315 DirectChatPanel.prototype.updateHighlightMessageCount = function( messages ) { 272 if( ( ( ! foreground && this.active ) || ! this.active ) ) { 273 if( ! this.listItem.hasClassName( "newHighlight" ) ) 274 this.listItem.addClassName( "newHighlight" ); 275 this.newHighlightMessages = messages; 276 } 316 this.newHighlightMessages = messages; 317 318 this.highlightsElement.removeClassName( "small" ); 319 this.highlightsElement.removeClassName( "medium" ); 320 this.highlightsElement.removeClassName( "large" ); 321 322 if( messages > 0 && messages <= 9 ) { 323 if( ! this.highlightsElement.hasClassName( "small" ) ) 324 this.highlightsElement.addClassName( "small" ); 325 } else if( messages >= 10 && messages <= 99 ) { 326 if( ! this.highlightsElement.hasClassName( "medium" ) ) 327 this.highlightsElement.addClassName( "medium" ); 328 } else if( messages >= 100 ) { 329 if( ! this.highlightsElement.hasClassName( "large" ) ) 330 this.highlightsElement.addClassName( "large" ); 331 } 332 333 this.highlightsElement.innerText = ( messages > 0 ? messages : "" ); 277 334 } 278 335 279 336 DirectChatPanel.prototype.focused = function() { 280 this.newMessages = 0; 281 this.newHighlightMessages = 0; 282 this.listItem.removeClassName( "newMessage" ); 283 this.listItem.removeClassName( "newHighlight" ); 284 this.listItem.title = "No messages waiting"; 337 this.updateNewMessageCount( 0 ); 338 this.updateHighlightMessageCount( 0 ); 285 339 } 286 340 … … 298 352 this.memberList.className = "memberList"; 299 353 this.memberList.style.setProperty( "display", "none", "" ); 300 $(" panelList").appendChild( this.memberList );354 $("sidebar").appendChild( this.memberList ); 301 355 302 356 var memberNodes = node.childNodes; … … 318 372 member.listItem.title = member.hostmask; 319 373 member.listItem.className = "listItem member" + ( member.type ? " " + member.type : "" ); 320 member.listItem.appendChild( document.createTextNode( member.name ) ); 374 375 var iconElement = $(document.createElement( "div" )); 376 iconElement.className = "icon"; 377 member.listItem.appendChild( iconElement ); 378 379 member.labelElement = $(document.createElement( "div" )); 380 member.labelElement.className = "label"; 381 member.labelElement.appendChild( document.createTextNode( member.name ) ); 382 member.listItem.appendChild( member.labelElement ); 321 383 322 384 this.memberList.appendChild( member.listItem ); trunk/Plug-Ins/Web Interface/Resources/index.html
r3560 r3567 14 14 </head> 15 15 <body> 16 <div id="main">17 16 <div id="panels"></div> 18 17 <div id="input" contenteditable="true"></div> 19 <div id="drawer" onselectstart="return false"><ul id="panelList"></ul></div> 20 </div> 21 <div id="timer">4 secs</div> 18 <ul id="sidebar"></ul> 22 19 </body> 23 20 </html> trunk/Plug-Ins/Web Interface/Web Interface.xcodeproj/project.pbxproj
r3560 r3567 25 25 1CC7250C0901A775004651F8 /* index.html in Resources */ = {isa = PBXBuildFile; fileRef = 1CC7250B0901A775004651F8 /* index.html */; }; 26 26 1CC726710901BBD2004651F8 /* common.js in Resources */ = {isa = PBXBuildFile; fileRef = 1CC7265F0901BAAE004651F8 /* common.js */; }; 27 1CD02E490B66C75400957AF0 /* highlightsInvertedLarge.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E3C0B66C75400957AF0 /* highlightsInvertedLarge.png */; }; 28 1CD02E4A0B66C75400957AF0 /* highlightsInvertedMedium.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E3D0B66C75400957AF0 /* highlightsInvertedMedium.png */; }; 29 1CD02E4B0B66C75400957AF0 /* highlightsInvertedSmall.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E3E0B66C75400957AF0 /* highlightsInvertedSmall.png */; }; 30 1CD02E4C0B66C75400957AF0 /* highlightsNormalLarge.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E3F0B66C75400957AF0 /* highlightsNormalLarge.png */; }; 31 1CD02E4D0B66C75400957AF0 /* highlightsNormalMedium.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E400B66C75400957AF0 /* highlightsNormalMedium.png */; }; 32 1CD02E4E0B66C75400957AF0 /* highlightsNormalSmall.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E410B66C75400957AF0 /* highlightsNormalSmall.png */; }; 33 1CD02E4F0B66C75400957AF0 /* messagesInvertedLarge.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E420B66C75400957AF0 /* messagesInvertedLarge.png */; }; 34 1CD02E500B66C75400957AF0 /* messagesInvertedMedium.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E430B66C75400957AF0 /* messagesInvertedMedium.png */; }; 35 1CD02E510B66C75400957AF0 /* messagesInvertedSmall.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E440B66C75400957AF0 /* messagesInvertedSmall.png */; }; 36 1CD02E520B66C75400957AF0 /* messagesNormalLarge.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E450B66C75400957AF0 /* messagesNormalLarge.png */; }; 37 1CD02E530B66C75400957AF0 /* messagesNormalMedium.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E460B66C75400957AF0 /* messagesNormalMedium.png */; }; 38 1CD02E540B66C75400957AF0 /* messagesNormalSmall.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E470B66C75400957AF0 /* messagesNormalSmall.png */; }; 39 1CD02E550B66C75400957AF0 /* rowHighlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CD02E480B66C75400957AF0 /* rowHighlight.png */; }; 27 40 1CF3AE700B5B05B100183925 /* smallIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 1CF3AE6F0B5B05B100183925 /* smallIcon.png */; }; 28 41 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; … … 53 66 1CC7250B0901A775004651F8 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = "<group>"; }; 54 67 1CC7265F0901BAAE004651F8 /* common.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = common.js; sourceTree = "<group>"; }; 68 1CD02E3C0B66C75400957AF0 /* highlightsInvertedLarge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsInvertedLarge.png; sourceTree = "<group>"; }; 69 1CD02E3D0B66C75400957AF0 /* highlightsInvertedMedium.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsInvertedMedium.png; sourceTree = "<group>"; }; 70 1CD02E3E0B66C75400957AF0 /* highlightsInvertedSmall.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsInvertedSmall.png; sourceTree = "<group>"; }; 71 1CD02E3F0B66C75400957AF0 /* highlightsNormalLarge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsNormalLarge.png; sourceTree = "<group>"; }; 72 1CD02E400B66C75400957AF0 /* highlightsNormalMedium.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsNormalMedium.png; sourceTree = "<group>"; }; 73 1CD02E410B66C75400957AF0 /* highlightsNormalSmall.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = highlightsNormalSmall.png; sourceTree = "<group>"; }; 74 1CD02E420B66C75400957AF0 /* messagesInvertedLarge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesInvertedLarge.png; sourceTree = "<group>"; }; 75 1CD02E430B66C75400957AF0 /* messagesInvertedMedium.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesInvertedMedium.png; sourceTree = "<group>"; }; 76 1CD02E440B66C75400957AF0 /* messagesInvertedSmall.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesInvertedSmall.png; sourceTree = "<group>"; }; 77 1CD02E450B66C75400957AF0 /* messagesNormalLarge.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesNormalLarge.png; sourceTree = "<group>"; }; 78 1CD02E460B66C75400957AF0 /* messagesNormalMedium.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesNormalMedium.png; sourceTree = "<group>"; }; 79 1CD02E470B66C75400957AF0 /* messagesNormalSmall.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = messagesNormalSmall.png; sourceTree = "<group>"; }; 80 1CD02E480B66C75400957AF0 /* rowHighlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rowHighlight.png; sourceTree = "<group>"; }; 55 81 1CF3AE6F0B5B05B100183925 /* smallIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = smallIcon.png; sourceTree = "<group>"; }; 56 82 8D5B49B6048680CD000E48DA /* Web Interface.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Web Interface.plugin"; sourceTree = BUILT_PRODUCTS_DIR; }; … … 102 128 1C7F7CC70B5FF71000D8676C /* utilities.js */, 103 129 1CF3AE6F0B5B05B100183925 /* smallIcon.png */, 130 1CD02E3C0B66C75400957AF0 /* highlightsInvertedLarge.png */, 131 1CD02E3D0B66C75400957AF0 /* highlightsInvertedMedium.png */, 132 1CD02E3E0B66C75400957AF0 /* highlightsInvertedSmall.png */, 133 1CD02E3F0B66C75400957AF0 /* highlightsNormalLarge.png */, 134 1CD02E400B66C75400957AF0 /* highlightsNormalMedium.png */, 135 1CD02E410B66C75400957AF0 /* highlightsNormalSmall.png */, 136 1CD02E420B66C75400957AF0 /* messagesInvertedLarge.png */, 137 1CD02E430B66C75400957AF0 /* messagesInvertedMedium.png */, 138 1CD02E440B66C75400957AF0 /* messagesInvertedSmall.png */, 139 1CD02E450B66C75400957AF0 /* messagesNormalLarge.png */, 140 1CD02E460B66C75400957AF0 /* messagesNormalMedium.png */, 141 1CD02E470B66C75400957AF0 /* messagesNormalSmall.png */, 142 1CD02E480B66C75400957AF0 /* rowHighlight.png */, 104 143 ); 105 144 path = Resources; … … 223 262 1C3458F20905FC4F00AC2C16 /* base.css in Resources */, 224 263 1CF3AE700B5B05B100183925 /* smallIcon.png in Resources */, 264 1CD02E490B66C75400957AF0 /* highlightsInvertedLarge.png in Resources */, 265 1CD02E4A0B66C75400957AF0 /* highlightsInvertedMedium.png in Resources */, 266 1CD02E4B0B66C75400957AF0 /* highlightsInvertedSmall.png in Resources */, 267 1CD02E4C0B66C75400957AF0 /* highlightsNormalLarge.png in Resources */, 268 1CD02E4D0B66C75400957AF0 /* highlightsNormalMedium.png in Resources */, 269 1CD02E4E0B66C75400957AF0 /* highlightsNormalSmall.png in Resources */, 270 1CD02E4F0B66C75400957AF0 /* messagesInvertedLarge.png in Resources */, 271 1CD02E500B66C75400957AF0 /* messagesInvertedMedium.png in Resources */, 272 1CD02E510B66C75400957AF0 /* messagesInvertedSmall.png in Resources */, 273 1CD02E520B66C75400957AF0 /* messagesNormalLarge.png in Resources */, 274 1CD02E530B66C75400957AF0 /* messagesNormalMedium.png in Resources */, 275 1CD02E540B66C75400957AF0 /* messagesNormalSmall.png in Resources */, 276 1CD02E550B66C75400957AF0 /* rowHighlight.png in Resources */, 225 277 ); 226 278 runOnlyForDeploymentPostprocessing = 0;
