Skip to content

Commit b0374d9

Browse files
committed
1310 Support SVG vectorial images in Branding logos
1 parent 0b0e1ae commit b0374d9

File tree

10 files changed

+108
-145
lines changed

10 files changed

+108
-145
lines changed

logicaldoc-gui/src/main/java/com/logicaldoc/gui/common/client/beans/GUIBranding.java

Lines changed: 54 additions & 93 deletions
Large diffs are not rendered by default.

logicaldoc-gui/src/main/java/com/logicaldoc/gui/common/client/util/ItemFactory.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,19 +1359,19 @@ public static Img newBrandImg(String name, GUIInfo info) {
13591359
Img img = null;
13601360

13611361
if (name.equals("logo.png"))
1362-
img = new Img(info.getBranding().getLogoSrc());
1362+
img = new Img(info.getBranding().getLogo());
13631363
else if (name.equals("logo_head.png"))
1364-
img = new Img(info.getBranding().getLogoHeadSrc());
1364+
img = new Img(info.getBranding().getLogoHead());
13651365
else if (name.equals("logo_oem.png"))
1366-
img = new Img(info.getBranding().getLogoOemSrc());
1366+
img = new Img(info.getBranding().getLogoOem());
13671367
else if (name.equals("logo_head_oem.png"))
1368-
img = new Img(info.getBranding().getLogoHeadOemSrc());
1368+
img = new Img(info.getBranding().getLogoHeadOem());
13691369
else if (name.equals("banner.png"))
1370-
img = new Img(info.getBranding().getBannerSrc());
1370+
img = new Img(info.getBranding().getBanner());
13711371
else if (name.equals("favicon.png"))
1372-
img = new Img(info.getBranding().getFaviconSrc());
1372+
img = new Img(info.getBranding().getFavicon());
13731373
else if (name.equals("logo_menu.png"))
1374-
img = new Img(info.getBranding().getLogoMenuSrc());
1374+
img = new Img(info.getBranding().getLogoMenu());
13751375
return img;
13761376
}
13771377

logicaldoc-gui/src/main/java/com/logicaldoc/gui/common/client/util/WindowUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public static void setFavicon(GUIInfo info) {
103103
link.setId("favicon");
104104
link.setAttribute("rel", "shortcut icon");
105105
link.setAttribute("type", "image/png");
106-
link.setAttribute("href", info.getBranding().getFaviconSrc());
106+
link.setAttribute("href", info.getBranding().getFavicon());
107107

108108
DOM.appendChild(parent, link);
109109
} catch (Exception t) {

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/panels/TopPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class TopPanel extends HLayout {
1616
public TopPanel() {
1717
setWidth100();
1818
if (Session.get().getConfigAsBoolean("gui.banner")) {
19-
setBackgroundImage(Session.get().getInfo().getBranding().getBannerSrc());
19+
setBackgroundImage(Session.get().getInfo().getBranding().getBanner());
2020
setBackgroundRepeat(BackgroundRepeat.REPEAT_X);
2121
setBackgroundPosition("top left");
2222

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/tenant/ImageUploader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public ImageUploader(String imageName, TenantBrandingPanel panel) {
5151
layout.setWidth100();
5252

5353
uploader = new Upload(uploadButton);
54-
uploader.setFileTypes("*.png");
54+
uploader.setFileTypes("*.png,*.svg");
5555
layout.addMember(uploader);
5656
layout.addMember(uploadButton);
5757

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/tenant/TenantBrandingPanel.java

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -374,37 +374,37 @@ private ListGrid prepareImagesGrid() {
374374
ListGridField image = prepareImageField();
375375

376376
grid.setFields(nameField, image);
377-
377+
378378
List<ListGridRecord> records = new ArrayList<>();
379379

380380
ListGridRecord rec = new ListGridRecord();
381381
rec.setAttribute(NAME, "logo");
382-
rec.setAttribute(IMAGE, tenant.getBranding().getLogoSrc());
382+
rec.setAttribute(IMAGE, tenant.getBranding().getLogo());
383383
records.add(rec);
384384
rec = new ListGridRecord();
385385
rec.setAttribute(NAME, LOGO_HEAD);
386-
rec.setAttribute(IMAGE, tenant.getBranding().getLogoHeadSrc());
386+
rec.setAttribute(IMAGE, tenant.getBranding().getLogoHead());
387387
records.add(rec);
388388
rec = new ListGridRecord();
389389
rec.setAttribute(NAME, LOGO_MENU);
390-
rec.setAttribute(IMAGE, tenant.getBranding().getLogoMenuSrc());
390+
rec.setAttribute(IMAGE, tenant.getBranding().getLogoMenu());
391391
records.add(rec);
392392
rec = new ListGridRecord();
393393
rec.setAttribute(NAME, BANNER);
394-
rec.setAttribute(IMAGE, tenant.getBranding().getBannerSrc());
394+
rec.setAttribute(IMAGE, tenant.getBranding().getBanner());
395395
records.add(rec);
396396

397397
rec = new ListGridRecord();
398398
rec.setAttribute(NAME, LOGO_OEM);
399-
rec.setAttribute(IMAGE, tenant.getBranding().getLogoOemSrc());
399+
rec.setAttribute(IMAGE, tenant.getBranding().getLogoOem());
400400
records.add(rec);
401401
rec = new ListGridRecord();
402402
rec.setAttribute(NAME, LOGO_HEAD_OEM);
403-
rec.setAttribute(IMAGE, tenant.getBranding().getLogoHeadOemSrc());
403+
rec.setAttribute(IMAGE, tenant.getBranding().getLogoHeadOem());
404404
records.add(rec);
405405
rec = new ListGridRecord();
406406
rec.setAttribute(NAME, FAVICON);
407-
rec.setAttribute(IMAGE, tenant.getBranding().getFaviconSrc());
407+
rec.setAttribute(IMAGE, tenant.getBranding().getFavicon());
408408
records.add(rec);
409409
grid.setRecords(records.toArray(new ListGridRecord[0]));
410410

@@ -424,30 +424,32 @@ private ListGridField prepareImageField() {
424424
image.setCanSort(false);
425425
image.setCellFormatter((Object value, ListGridRecord rec, int rowNum, int colNum) -> {
426426
String html = "";
427+
String maxWidth = "400px";
427428
String name = rec.getAttributeAsString(NAME);
428429
if (name.equals("logo"))
429-
html = tenant.getBranding().getLogoSrc();
430+
html = tenant.getBranding().getLogo();
430431
else if (name.equals(LOGO_HEAD))
431-
html = tenant.getBranding().getLogoHeadSrc();
432+
html = tenant.getBranding().getLogoHead();
432433
else if (name.equals(LOGO_MENU))
433-
html = tenant.getBranding().getLogoMenuSrc();
434+
html = tenant.getBranding().getLogoMenu();
434435
else if (name.equals(LOGO_OEM))
435-
html = tenant.getBranding().getLogoOemSrc();
436+
html = tenant.getBranding().getLogoOem();
436437
else if (name.equals(LOGO_HEAD_OEM))
437-
html = tenant.getBranding().getLogoHeadOemSrc();
438+
html = tenant.getBranding().getLogoHeadOem();
438439
else if (name.equals(BANNER))
439-
html = tenant.getBranding().getBannerSrc();
440-
else if (name.equals(FAVICON))
441-
html = tenant.getBranding().getFaviconSrc();
442-
443-
if (html != null && !html.isEmpty()) {
440+
html = tenant.getBranding().getBanner();
441+
else if (name.equals(FAVICON)) {
442+
html = tenant.getBranding().getFavicon();
443+
maxWidth = "64px";
444+
}
444445

445-
html = "<img src='" + html + "' style='margin-top:4px; margin-bottom:4px;'/>";
446+
if (html != null && !html.isEmpty()) {
447+
html = "<img src='" + html + "' style='margin-top:4px; margin-bottom:4px; max-width: "+maxWidth+";'/>";
446448

447-
// In chase of header logos, show the banner below
449+
// In case of header logos, show the banner below
448450
if (name.contains("_head")) {
449-
html = "<div style=\" background-image: url('" + tenant.getBranding().getBannerSrc()
450-
+ "'); width:100%; margin-top:4px; margin-bottom:4px; \">" + html + "</div>";
451+
html = "<div style=\" background-image: url('" + tenant.getBranding().getBanner()
452+
+ "'); width:100%; margin:4px; \">" + html + "</div>";
451453
} else {
452454
html = "<div style='width:100%; margin-top:4px; margin-bottom:4px;'>" + html + "</div>";
453455
}
@@ -473,25 +475,25 @@ private void showImagesContextMenu() {
473475

474476
String image = "";
475477
if ("logo".equals(name)) {
476-
tenant.getBranding().setLogoSrc(model.getLogoSrc());
478+
tenant.getBranding().setLogo(model.getLogo());
477479
image = model.getLogo();
478480
} else if (LOGO_HEAD.equals(name)) {
479-
tenant.getBranding().setLogoHeadSrc(model.getLogoHeadSrc());
481+
tenant.getBranding().setLogoHead(model.getLogoHead());
480482
image = model.getLogoHead();
481483
} else if (LOGO_MENU.equals(name)) {
482-
tenant.getBranding().setLogoMenuSrc(model.getLogoMenuSrc());
484+
tenant.getBranding().setLogoMenu(model.getLogoMenu());
483485
image = model.getLogoMenu();
484486
} else if (LOGO_OEM.equals(name)) {
485-
tenant.getBranding().setLogoOemSrc(model.getLogoOemSrc());
487+
tenant.getBranding().setLogoOem(model.getLogoOem());
486488
image = model.getLogoOem();
487489
} else if (LOGO_HEAD_OEM.equals(name)) {
488-
tenant.getBranding().setLogoHeadOemSrc(model.getLogoHeadOemSrc());
490+
tenant.getBranding().setLogoHeadOem(model.getLogoHeadOem());
489491
image = model.getLogoHeadOem();
490492
} else if (FAVICON.equals(name)) {
491-
tenant.getBranding().setFaviconSrc(model.getFaviconSrc());
493+
tenant.getBranding().setFavicon(model.getFavicon());
492494
image = model.getFavicon();
493495
} else if (BANNER.equals(name)) {
494-
tenant.getBranding().setBannerSrc(model.getBannerSrc());
496+
tenant.getBranding().setBanner(model.getBanner());
495497
image = model.getBanner();
496498
}
497499

@@ -509,23 +511,23 @@ private void showImagesContextMenu() {
509511

510512
void updateImage(String imageName, String imageContent) {
511513
String content = imageContent;
512-
if (content.startsWith(GUIBranding.SRC_PREFIX))
513-
content = GUIBranding.SRC_PREFIX + imageContent;
514+
if (!content.startsWith(GUIBranding.DATA_PREFIX))
515+
content = GUIBranding.PNG_PREFIX + imageContent;
514516

515517
if (imageName.equals("logo"))
516-
tenant.getBranding().setLogoSrc(content);
518+
tenant.getBranding().setLogo(content);
517519
else if (imageName.equals(LOGO_HEAD))
518-
tenant.getBranding().setLogoHeadSrc(content);
520+
tenant.getBranding().setLogoHead(content);
519521
else if (imageName.equals(LOGO_MENU))
520-
tenant.getBranding().setLogoMenuSrc(content);
522+
tenant.getBranding().setLogoMenu(content);
521523
else if (imageName.equals(LOGO_OEM))
522-
tenant.getBranding().setLogoOemSrc(content);
524+
tenant.getBranding().setLogoOem(content);
523525
else if (imageName.equals(LOGO_HEAD_OEM))
524-
tenant.getBranding().setLogoHeadOemSrc(content);
526+
tenant.getBranding().setLogoHeadOem(content);
525527
else if (imageName.equals(BANNER))
526-
tenant.getBranding().setBannerSrc(content);
528+
tenant.getBranding().setBanner(content);
527529
else if (imageName.equals(FAVICON))
528-
tenant.getBranding().setFaviconSrc(content);
530+
tenant.getBranding().setFavicon(content);
529531

530532
Record rec = null;
531533

logicaldoc-gui/src/main/java/com/logicaldoc/gui/setup/client/Setup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ private void initGUI(final GUIInfo info) {
158158
// Prepare the logo image to be shown inside the login form
159159
Label header = new Label(I18N.message("setup"));
160160
header.setStyleName("setupHeader");
161-
header.setIcon(info.getBranding().getLogoSrc());
161+
header.setIcon(info.getBranding().getLogo());
162162
header.setIconWidth(205);
163163
header.setIconHeight(40);
164164
header.setHeight(45);

logicaldoc-gui/src/main/resources/com/logicaldoc/gui/common/Common.gwt.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
<inherits name='org.wisepersist.gwt.uploader.Uploader'/>
1515

1616
<!-- Compile for firefox only more fastly for developement and hosted mode -->
17-
<set-property name="user.agent" value="gecko1_8" />
17+
<set-property name="user.agent" value="gecko1_8,safari" />
1818
<entry-point class="com.logicaldoc.gui.common.client.Common" />
1919
</module>

logicaldoc-util/src/main/java/com/logicaldoc/util/io/FileUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public static void copyResource(String resourceName, File out) throws IOExceptio
254254
*/
255255
public static String getExtension(String fileName) {
256256
if (fileName != null && fileName.contains(".")) {
257-
return fileName.substring(fileName.lastIndexOf('.') + 1);
257+
return fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
258258
} else
259259
return "";
260260
}

logicaldoc-webapp/src/main/java/com/logicaldoc/web/LogDownload.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ private void writeConfigFiles(ZipOutputStream out) throws IOException {
265265
if (file.isDirectory())
266266
continue;
267267

268-
if (file.getName().toLowerCase().endsWith(DOT_PROPERTIES) || file.getName().toLowerCase().endsWith(".xml")
268+
if (file.getName().toLowerCase().contains(DOT_PROPERTIES) || file.getName().toLowerCase().endsWith(".xml")
269269
|| file.getName().toLowerCase().endsWith(".txt"))
270270
writeEntry(out, "logicaldoc/conf/" + file.getName(), file);
271271
}

0 commit comments

Comments
 (0)